Skip to content

Innovation

Angular 20 to 22 Migration: Why We Stopped Going Incremental

The OctoPerf web application is a large Angular workspace: 7,786 TypeScript files, around 381,000 lines of code, 1,166 components and 2,738 test files. We have just taken it from Angular 20 to Angular 22, deleted zone.js, and replaced Karma and Jasmine with Vitest.

The interesting part of this story is not the version number. It is that we got the strategy wrong first. We spent months migrating the codebase component by component, drowned in manual regression testing, and still let bugs reach production. What unblocked us was not a better migration technique. It was realising that our bottleneck was validation, not transformation, and building an automated safety net before touching the framework again.

So this post is the thought process rather than the changelog, with the numbers we measured rather than the ones we hoped for. It ends on a question we cannot dodge: this migration would not have happened in this timeframe without an LLM. So are we now dependent on one?

Report Templates: Stop Rebuilding the Same Report After Every Load Test

This is the sixth and final post in our "Features Sitting Idle" series, where we shine a light on OctoPerf features that are already in your account, ready to save you hours every week.

Features Sitting Idle - Report Templates

"Are You Rebuilding the Same Report Structure After Every Test?"

It's a quiet but recurring friction.

Teams that test regularly all end up with a preferred report layout. But in practice, that structure is often rebuilt manually after each run, or lost entirely when moving between projects.

Dynamic SSO Configuration: No More Restarts to Update Your Identity Provider

This is the fifth post in our "Features Sitting Idle" series, where we look at OctoPerf features that are already in your platform but often missed by the teams that would benefit the most.

This one is for IT teams running OctoPerf on-premise.

Features Sitting Idle - Dynamic SSO

"Updating Your SSO Config Shouldn't Require a Full Redeployment."

IT teams managing an on-premise OctoPerf instance regularly run into the same friction around SSO.

The pattern is so consistent that we've come to recognize it as a tell-tale sign that the team hasn't migrated to the new dynamic configuration introduced in version 15.

Rendezvous Points: Simulating Real Simultaneity, Not Just a Ramp-Up

This is the fourth post in our "Features Sitting Idle" series, where we explore OctoPerf features that are powerful, already available, and yet often replaced by manual workarounds.

Features Sitting Idle - Rendezvous Points

"A Ramp-Up Is Not a Load Spike."

The distinction matters, and it is often overlooked in test scenarios.

Teams that need to simulate a true simultaneous spike - flash sales, ticket drops, mass logins at a specific time, scheduled batch openings - usually end up working around the problem instead of using the tool's native support for it.

AI Load Testing With a French LLM: OctoPerf MCP Meets Mistral Vibe

When we released the OctoPerf MCP Server, most teams connected to it straight from Claude.ai. Then we showed how to run the whole stack on-premise with a local model. But a question kept coming back from European teams: can we drive our load tests with a French LLM, hosted in Europe, instead of a US model? The answer is yes, and it takes about five minutes. Mistral Vibe, the assistant formerly known as Le Chat, now supports custom Model Context Protocol connectors, so you can point it straight at the OctoPerf MCP Server and start testing in plain French (or English).