gopher-glide

module
v0.9.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2026 License: MIT

README ยถ

Gopher Glide Logo

Gopher-Glide (gg) ๐Ÿš€

Run your IDE `.http` files under heavy concurrent load. Zero scripting required.

Build Release codecov Go Report Card JetBrains Plugin Version

Gopher Glide TUI Demo


๐Ÿคทโ€โ™‚๏ธ Why not just use wrk, k6, or JMeter?

If you want to run a quick concurrency test on an endpoint, you usually have to write a custom JavaScript file for k6, a Python script for Locust, or learn a heavy configuration language.

Gopher-Glide (gg) is an API traffic simulator that lets you skip the boilerplate. It directly executes standard IDE .http REST Client files that you probably already have sitting in your workspace.

Feature Gopher-Glide (gg) k6 / Locust wrk / hey / vegeta
Scripting None (Reads .http natively) JavaScript / Python None (CLI flags only)
Traffic Control 30-FPS Interactive TUI (Arrow keys) Requires configs Fixed concurrency only
CI/CD Assertions Semantic JSON Diffing (gg snap) Pass/Fail Thresholds Raw latencies only
Built-in Profiles Yes (--profile flash-sale) Requires scripting No
IDE Integration Native JetBrains Plugin External scripts External tools
Performance 30k+ RPS per core (Actor Model) Medium-High Extremely High

๐Ÿ‘‰ Read the Full Documentation


โšก 30-Second Quickstart

1. Install via Homebrew

brew install shyam-s00/tap/gg

2. Point it at any .http file

Create a simple api.http file (or use an existing one from your IDE):

GET http://localhost:8080/health
Accept: application/json

3. Run the simulation

Use a built-in profile to automatically shape the traffic (e.g., ramping up, sustaining, and cooling down):

gg --hive-engine --profile flash-sale --http-file api.http

You will instantly drop into the newly polished, butter-smooth 30-FPS Interactive Chaos TUI where you can monitor latencies and adjust the load in real-time without stutter or lag.


๐Ÿ›  Feature Deep-Dives

๐Ÿ The Hive Engine (Zero-Allocation Architecture)

The core of gg is built on a pure-Go lock-free Actor Model. By isolating connections into ultra-lightweight Goroutines and tracking metrics via sharded lock-free atomics, gg operates at 0 allocs/op on the hot path. This means you can comfortably push over 30,000+ RPS on a standard developer machine without garbage-collection pauses destroying your latency percentiles.

โš”๏ธ 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. gg's dynamic Adaptive Backpressure acts as an intelligent edge proxyโ€”gracefully throttling excess traffic when the target server breaks to ensure maximum goodput, instead of blindly hammering the network into a deadlock. Read the full benchmark breakdown to see how gg safely simulates massive traffic.

๐Ÿ”ฌ Semantic Regression Gates (gg snap)

Don't just test if your API is slowโ€”test if it's broken. By passing the --snap flag, Gopher-Glide infers your API's JSON schema in real-time. You can then use gg snap assert in your CI/CD pipeline to automatically break the build if a pull request spikes latency or alters a JSON payload contract.

๐Ÿ”Œ JetBrains IDE Integration

Gopher Glide features an official JetBrains plugin that brings load testing directly into your IDE. Run profiles directly from your .http files via the gutter icon, and explore semantic diffs using the Snap UI Tool Window.

๐Ÿ”„ Stateful Journeys & Variable Extraction

No more writing custom JavaScript to test multi-step workflows. gg natively understands JetBrains HTTP variable extraction syntax. You can authenticate, extract a token using # @gg-export token = jsonpath: $.data.token, and instantly inject it into the next request using {{token}}.


Planned Features

  • Chaos / Fault Injection โ€” Simulate poor network conditions (3G packet loss, latency jitter) to see how APIs handle degradation.
  • Distributed Simulation Mesh โ€” Run gg worker nodes across multiple servers/regions, controlled by a central gg master UI.

License

MIT

Directories ยถ

Path Synopsis
cmd
gg command
internal
engine/hive
Package hive implements the Hive Engine โ€” an Actor Model load engine.
Package hive implements the Hive Engine โ€” an Actor Model load engine.
snap
Package snap provides behavioral snapshot capture for gg load test runs.
Package snap provides behavioral snapshot capture for gg load test runs.
tui
ui
Package ui provides the Renderer abstraction that decouples application logic from the presentation layer.
Package ui provides the Renderer abstraction that decouples application logic from the presentation layer.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL