Skip to content

Simulate real traffic against any backend.

Gopher-Glide (gg) is an open-source HTTP traffic and regression simulator for any API: Node, Python, Java, .NET, Rails, Rust, Go and more. Reuse your .http files, run from your IDE or CI, and steer the load live. No scripts, no SDK, no changes to your code.

⚑ 30,000+ RPS✦ Zero Scripting🌐 Any Backend
brew install shyam-s00/tap/ggother install options →
gg --http-file checkout.http --profile ramp
Gopher Glide (GG)
CONFIGURATION
Status: RUNNING ●
Uptime: 38.42s
Profile: ramp
Stage: [2/3] Sustain
LOAD
Actors: 1,327
Target RPS: 5000
Actual RPS: 4825.00
Jitter: off
RESULTS
Requests: 182,604
Success: 182,604
Failed: 0
Error Rate: 0.00%
LATENCY
Min: 50.28ms
P50: 12.40ms
P95: 38.10ms
P99: 64.70ms
STAGE PLANtarget 5000 rps Β· actual 4825 rps Β· 1327 active actors
β–Ό
↑+5 rps↓-5 rpsflogs (FAILURES ONLY)qquit

Any backend. Any language.

gg speaks HTTP, so it doesn't care what your API is written in. Point it at a URL and go.

  • Node.js
  • Python
  • Java
  • Kotlin
  • .NET
  • Ruby on Rails
  • PHP
  • Rust
  • Elixir
  • Go
  • anything that speaks HTTP

Nothing to install in your app

gg is an outside-in HTTP client. No agent, no SDK, no code changes, no restart. If it answers a request, gg can drive it.

Plain .http files

The same request files your editor already runs. Reuse the ones in your repo from PyCharm, WebStorm, Rider, IntelliJ, VS Code and more.

One binary, no runtime

No JVM, Node or Python needed to run gg itself. Install with Homebrew, grab a release binary, or use the Docker image in CI.

See how it works with your stack →

New in v1.3

What's new

Live Control β€” steer a load test while it is running.

Install for Your IDE

Native plugins for every major editor β€” same workflow, same features, wherever you code.

Unleash The Hive. Destroy your servers, not your RAM.

A modern architecture built for massive scale. Legacy tools rely on heavy OS threads that choke your machine before they choke your API. The Hive Engine uses a lock-free Actor Model.

By isolating connections into ultra-lightweight workers, a single instance effortlessly generates over 30,000 RPS with zero-garbage (0 allocs/op) overhead. It happens to be written in Go, which is why gg is one static binary with no runtime to install. The API you test can be written in anything.

βš”οΈ Benchmark: At 30,000 RPS target load, gg consumes 40% less memory (1.42 GB vs 2.38 GB) and delivers 3x more successful requests than k6. Read the full breakdown β†’

graph TD
    Queen[πŸ‘‘ The Queen] -->|Micro-batches| Hatchery[πŸ₯š The Hatchery]
    Hatchery --> Actor1[🐝 Actor]
    Hatchery --> Actor2[🐝 Actor]
    Actor1 -. API Request .-> API
    Actor2 -. API Request .-> API

Zero Scripting Required

Stop rewriting your API calls in JavaScript or Python just to run a quick load test. Reuse your existing .http REST Client files directly.

Point gg at your IDE scratch files and go. Your API can be written in anything; gg only needs its URL. Chain requests into a stateful journey instantly by exporting values with @gg-export and referencing them natively as {{token}}.

checkout.http
### Simulated User Journey
POST http://api.example.com/login
Content-Type: application/json
{ "user": "tester", "pass": "secure" }
> {%
client.global.set(
"token", response.body.token
);
%}
### Fetch user profile using token
GET http://api.example.com/profile
Authorization: Bearer \{\{token\}\}

Interactive Chaos TUI

Watch your backend burn in high-definition. The premium interactive TUI runs at a buttery-smooth ~24 FPS, giving you real-time observability.

Play chaos engineer: use your arrow keys to aggressively bias RPS up or down in real-time, and watch how your system reacts without ever touching a config file. Running headless or in CI? The Live Control Protocol gives you the same bias, plus markers and a clean stop, over stdin.

gg --profile ddos
Interactive Chaos TUI Demo

Run From Your IDE, Not a Terminal

Official plugins for JetBrains and VS Code bring the entire workflow into IntelliJ IDEA, PyCharm, WebStorm, Rider, GoLand, VS Code, and more. Click a gutter icon on any .http file, pick a built-in load profile, and watch live RPS, error rate, and latency percentiles update in a native run dashboard.

Both plugins also let you steer the run from the panel: nudge the target RPS up or down, drop named markers, and stop cleanly, all recorded in the snapshot.

No interactive terminal UI involved β€” just a lightweight panel fed by gg’s headless JSON heartbeat, so it stays responsive no matter how long or heavy the run is.

Gopher Glide β€” Run
Native run dashboard in the Gopher Glide JetBrains plugin, showing live RPS chart, metrics, and stage timeline

X-Ray Vision for APIs, Natively in your IDE πŸ”¬

Know exactly why you broke production, not just when. Traditional tools tell you P99 latency spiked. Gopher-Glide’s semantic diffing tells you it spiked because a developer accidentally injected a 2MB blob into the JSON payload.

Select any two snapshots in the plugin’s Snap Explorer to visually compare metric shifts, payload growth, and schema drift side-by-side. Pair it with gg snap assert to gate regressions directly from your editor or in your CI/CD pipelines.

New: Array Bloat Detection. A missing pagination limit shouldn’t take down your API in prod. Set β€”max-array-bloat 30 and gg fails the build the moment an array field’s average length balloons past your threshold β€” before it ships.

Gopher Glide β€” Snap Diff
Native snapshot diff view in the Gopher Glide JetBrains plugin

How does gg compare?

FeatureGopher-Glide (gg)k6 / Locustwrk / hey
ScriptingNone (Reads .http natively)JavaScript / PythonNone (CLI flags only)
Traffic ControlLive Interactive TUIRequires configsFixed concurrency only
CI/CD AssertionsSemantic JSON Diffing + Array Bloat DetectionPass/Fail ThresholdsRaw latencies only
Performance30k+ RPSMedium-HighExtremely High

Frequently Asked Questions

Is Gopher-Glide only for Go projects?

No. gg is language-agnostic. It sends plain HTTP requests, so the service under test can be written in Node.js, Python, Java, Kotlin, .NET, Ruby, PHP, Rust, Go or anything else that answers HTTP. Nothing is installed in your app, and you do not need Go installed to run gg. It is written in Go, which is why it ships as a single static binary.

Is Gopher-Glide a k6 or JMeter alternative?

Yes. If you are looking for a modern, open-source alternative to k6, JMeter, or Locust, Gopher-Glide offers a zero-code approach. Instead of writing complex JavaScript or Python scripts, you reuse your existing .http REST Client files directly from your IDE.

How much load can a single instance generate?

Thanks to the lock-free Hive Engine, a single Gopher-Glide instance can comfortably push over 30,000 RPS (Requests Per Second) on modern hardware without exhausting system memory or triggering garbage collection pauses.

Can I run this in my CI/CD pipeline?

Absolutely. You can use our official Docker image to drop it into any pipeline. By passing the --headless flag, Gopher-Glide outputs structured data instead of the UI. Use gg snap assert to create automated regression gates that break the build if API latency spikes.