ghz
ghz is a command-line utility and Go package for load testing and benchmarking gRPC services, including local debugging and performance regression checks in …
What ghz is
ghz is a command-line utility and Go package for load testing and benchmarking gRPC services, including local debugging and performance regression checks in CI. It accepts service definitions from a .proto file, a compiled protoset bundle, or server reflection, and can exercise unary, streaming, and duplex calls with JSON or binary data. Request rates can follow constant, step, or linear schedules. Go templates can generate per-request data and metadata using values such as worker ID, request number, method name, and timestamps. Results can be emitted as summaries, CSV, HTML, JSON, Prometheus text exposition, or InfluxDB line protocol. The beta ghz-web companion stores reports in projects for viewing, tracking, and comparison over time. It supports SQLite, MySQL, and PostgreSQL storage and accepts report uploads through ingest endpoints. ghz is free; installation options include prebuilt executables, Homebrew, or building from source. The project is licensed under Apache-2.0.
Good
- Accepts .proto, protoset, or server reflection definitions.
- Tests unary, streaming, and duplex calls.
- Offers constant, step, and linear load schedules.
- Emits results in several formats, including Prometheus text.
- Free CLI with prebuilt and source installation options.
Watch out
- The ghz-web companion is labeled beta.
- The web application is self-hosted.
- ghz is a command-line tool and Go package.
Who it suits
ghz suits developers who need to benchmark gRPC services locally or in CI. Teams that want to keep and compare reports over time can also use the beta ghz-web companion.
Verdict
ghz provides flexible gRPC load testing with several ways to define services, shape request rates, and export results. Its web companion adds report tracking, but is explicitly beta and requires self-hosting.
Plans and prices
From ghz's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| ghz | Free | Open-source gRPC load testing CLI and Go package; complementary web application is beta |
The facts
Each one read from ghz's own pages, with the date it was checked.
What it does
- API
- ghz-web provides ingest endpoints for raw JSON reports, including an endpoint that creates a project automatically.checked 4 Oct 2026
- Call types
- The maker says ghz can test unary, streaming, and duplex calls using JSON or binary data.checked 4 Oct 2026
- Custom request data
- Request data and metadata can use Go template actions evaluated for every request, with variables such as worker ID, request number, method name, and timestamps.checked 4 Oct 2026
- Dynamic data
- Go templates and template functions can generate request data and metadata for each request.checked 4 Oct 2026
- Ingest API
- The web server provides POST /api/ingest to create a project and ingest a report, or POST /api/projects/:id/ingest to add a report to an existing project.checked 4 Oct 2026
- Installation
- The maker documents prebuilt executable downloads, Homebrew installation, and building from source with make or Go.checked 4 Oct 2026
- Integrations
- The documentation includes prebuilt Grafana dashboards and describes InfluxDB output and use with Prototool.checked 4 Oct 2026
- License
- The GitHub repository identifies the project license as Apache-2.0.checked 4 Oct 2026
- Load patterns
- Load options include constant, step, and linear request rates.checked 4 Oct 2026
- Load schedules
- Load can use constant, step, or line schedules to control request rates.checked 4 Oct 2026
- Output formats
- Results can be emitted as summary, CSV, JSON, pretty JSON, HTML, Prometheus text, or InfluxDB line protocol.checked 4 Oct 2026
- Protocol definitions
- Tests can use a .proto file, a compiled protoset bundle, or server reflection.checked 4 Oct 2026
- Protocol inputs
- ghz can use a proto file, a prebuilt protoset bundle, or server reflection.checked 4 Oct 2026
- Purpose
- ghz is a command line utility and Go package for load testing and benchmarking gRPC services, including local debugging and performance regression testing in automated CI environments.checked 4 Oct 2026
- Report formats
- The CLI documents summary, CSV, HTML, JSON, Prometheus text exposition, and InfluxDB line protocol output formats.checked 4 Oct 2026
- RPC patterns
- ghz supports unary, streaming, and duplex calls using JSON or binary data.checked 4 Oct 2026
- Security options
- The CLI documents CA certificates, client certificates and keys, server-name override, and options to skip TLS verification or use plaintext connections.checked 4 Oct 2026
- Self-hosted storage
- ghz-web supports SQLite, MySQL, and PostgreSQL databases and can be configured with environment variables or a YAML, TOML, or JSON file.checked 4 Oct 2026
- Support
- The site links to the guide, Go documentation, GitHub repository, and a community support link labeled “Say Thanks!”.checked 4 Oct 2026
- Web companion
- ghz-web is a complementary server and web application for storing, viewing, and comparing ghz test results; the maker labels it beta.checked 4 Oct 2026
- Web report status
- Reports and projects have OK or FAIL status, and a project reflects the status of its latest report.checked 4 Oct 2026
- Web result tracking
- ghz-web groups individual test reports into projects so results can be tracked, analyzed, and compared over time.checked 4 Oct 2026
Money
- Pricing and trial
- The maker's opened pages describe ghz as a complementary tool and do not state a price or trial offer.checked 4 Oct 2026
Where it runs
- Web application
- The beta ghz-web companion stores, displays, compares, and tracks test results over time.checked 4 Oct 2026
Alternatives to ghz
- 1
Kreya
Free planLinuxmacOSWindows7.1Free plan - 2

Bandura
Free planLinuxmacOSSelf-hostedWindows6.7$59 one-time - 3
grpcmd
Free planLinuxmacOSWindows6.7From $9 a year - 4

FintX
Free planLinuxmacOSWindows6.6Free plan - 5
grpcui
Free planWebLinuxmacOSSelf-hosted6.6Free plan - 6
protoc-gen-doc
Free planLinuxmacOSSelf-hostedWindows6.5Free plan
