If your API development loop is anything like mine, it looks something like this: write code, restart server, send a quick cURL or use the IDE’s HTTP client to make sure it returns a 200 OK.
But what happens when you need to know if that endpoint will survive a sudden spike of 500 requests per second?
Historically, simulating real-world traffic meant breaking your flow. You’d have to open a terminal, write a JMX file, or craft a custom script, and then watch a wall of text scroll by. The friction is high, which is why so many developers put off benchmarking until right before production.
I wanted to fix that. That’s why I built the Gopher-Glide (gg) CLI, and today, I’m thrilled to announce a massive architectural revamp of the Gopher-Glide JetBrains Plugin.
🛠 The Problem with Embedded Terminals
In earlier versions, the plugin simply launched the gg CLI’s interactive Terminal UI inside the JetBrains terminal widget. While it worked, TUIs rely on rapid ANSI escape code redraws. Running a heavy simulation at 24 frames-per-second inside the IDE's terminal caused massive CPU spikes and sometimes even froze the editor.
So, I completely overhauled the architecture.
✨ Enter the Native Dashboard
Instead of embedding a terminal, the plugin now drives Gopher-Glide under the hood in headless mode, piping JSON metrics directly into a 100% native JetBrains Tool Window.
Now, when you run a simulation, you get a beautiful, smooth dashboard docked at the bottom of your screen. It features real-time RPS charts, latency percentiles (p50/p95/p99), and a stage progression timeline. Because it uses native Swing components instead of a terminal redraw loop, the CPU overhead is practically zero.
⚡ Zero-Config Execution
I wanted the barrier to entry to be completely non-existent. You don't even need to write a configuration file to use it.
Got a standard .http file where you test your routes?
- Click the green "Run GG" gutter icon next to your request.
- A native popup appears with 21 built-in traffic profiles (e.g., E-Commerce Wave, Chaos/DDoS, Auto-Scaling Spikes).
- Hit run.
That’s it. You are benchmarking your API.
📸 Catch Regressions Before They Merge
Benchmarking is useless if you don't remember the baseline. The new plugin introduces a native Snaps Panel to manage your performance data right next to your code.
- Record: Tick a box when running a test to record a snapshot of the performance.
- Compare: Select two historical snapshots in the tool window and diff them to see exactly what changed.
- Assert: Run an assertion between two snapshots directly in the IDE to see if your latest code changes violated your latency or error-rate thresholds.
Want to automate it? I added a "Generate CI Workflow" right-click action that drops a pre-configured GitHub Actions YAML file into your project. It will automatically run your simulations, assert against the main branch, and drop a performance report as a PR comment.
Give it a Spin!
I've spent the last few weeks polishing this to feel like a first-class feature of the JetBrains ecosystem. If you use IntelliJ IDEA, GoLand, WebStorm, or PyCharm, I'd love for you to try it out.
You can search for "Gopher Glide" in the JetBrains Marketplace, or read more about it on the website: gopherglide.dev.
Drop any feedback, feature requests, or bugs in the comments below. Happy simulating! 🚀


Top comments (0)