FREEDOM251

Freedom251 › gRPC Tools

ghz

Free plan APILinuxSelf-hosted

Visit ghz Alternatives Pricing

ghz's own site

What ghz is

ghz is a free command-line utility and Go package for load testing and benchmarking gRPC services. It supports local debugging and performance regression checks in automated CI environments. A test can define its protocol through a .proto file, a compiled protoset, or server reflection, and exercise unary, streaming, or duplex calls with JSON or binary data. Request rates can follow constant, step, or linear schedules. Go templates can generate request data and metadata for each call, using values such as worker ID, request number, method, and timestamps. The CLI can output summaries, CSV, HTML, JSON, Prometheus text exposition, or InfluxDB line protocol. Its complementary ghz-web application is a beta, self-hosted tool for keeping reports in projects and viewing or comparing results over time. ghz-web supports SQLite, MySQL, and PostgreSQL storage, and accepts reports through ingest endpoints. Installation options for the CLI include prebuilt executables, Homebrew, or building from source.

Who it suits

ghz suits developers who need to load-test gRPC services locally or in CI. Its web companion may suit teams that want to group and compare test reports over time.

What it does well

  • Supports unary, streaming, and duplex calls.
  • Accepts proto files, protosets, or server reflection.
  • Offers constant, step, and linear load schedules.
  • CLI supports several structured report formats.
  • Free CLI with prebuilt installation options.

What to know first

  • ghz-web is labeled beta.
  • The web companion is self-hosted.
  • ghz-web requires a configured database.

Limits

ghz is listed as free. The report-storing web companion is labeled beta and requires self-hosting; its documented storage options are SQLite, MySQL, and PostgreSQL.

Plans

PlanBilled and limitsPrice
ghzOpen-source gRPC load testing CLI and Go package; complementary web application is betaFree

As ghz.sh lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the ghz website and choose an installation route: prebuilt executable, Homebrew, or build from source with make or Go.
  2. Prepare a service definition using a .proto file, protoset bundle, or server reflection.
  3. Configure a test with the desired call type, data format, and request-rate schedule.
  4. Run ghz and choose an output format for its results.
  5. For report tracking, install the ghz-web executable and configure its storage and settings.
  6. Send reports to ghz-web using an ingest endpoint.

Verdict

ghz provides gRPC load testing through a CLI and Go package, with varied protocol inputs, call types, load schedules, and report outputs. Teams seeking persistent, project-based report tracking can use the separate beta ghz-web companion.

Questions

How much does ghz cost?

The ghz plan is listed as free.

Is ghz open source?

Yes. The project license is Apache-2.0.

Which platforms are listed?

The listed platforms are API, Linux, and self-hosted.

What does ghz-web do?

The beta companion stores, displays, groups, tracks, and compares ghz test reports over time.

Which databases can ghz-web use?

It supports SQLite, MySQL, and PostgreSQL.

How can I install ghz?

The maker documents prebuilt executable downloads, Homebrew, and building from source with make or Go.

Facts from ghz's own pages

API
ghz-web provides ingest endpoints for raw JSON reports, including an endpoint that creates a project automatically. · ghz.sh, 4 Oct 2026
Call types
The maker says ghz can test unary, streaming, and duplex calls using JSON or binary data. · ghz.sh, 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. · ghz.sh, 4 Oct 2026
Dynamic data
Go templates and template functions can generate request data and metadata for each request. · ghz.sh, 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. · ghz.sh, 4 Oct 2026
Installation
The maker documents prebuilt executable downloads, Homebrew installation, and building from source with make or Go. · ghz.sh, 4 Oct 2026
Integrations
The documentation includes prebuilt Grafana dashboards and describes InfluxDB output and use with Prototool. · ghz.sh, 4 Oct 2026
License
The GitHub repository identifies the project license as Apache-2.0. · github.com, 4 Oct 2026
Load patterns
Load options include constant, step, and linear request rates. · ghz.sh, 4 Oct 2026
Load schedules
Load can use constant, step, or line schedules to control request rates. · ghz.sh, 4 Oct 2026
Output formats
Results can be emitted as summary, CSV, JSON, pretty JSON, HTML, Prometheus text, or InfluxDB line protocol. · ghz.sh, 4 Oct 2026
Pricing and trial
The maker's opened pages describe ghz as a complementary tool and do not state a price or trial offer. · ghz.sh, 4 Oct 2026
Protocol definitions
Tests can use a .proto file, a compiled protoset bundle, or server reflection. · ghz.sh, 4 Oct 2026
Protocol inputs
ghz can use a proto file, a prebuilt protoset bundle, or server reflection. · ghz.sh, 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. · ghz.sh, 4 Oct 2026
Report formats
The CLI documents summary, CSV, HTML, JSON, Prometheus text exposition, and InfluxDB line protocol output formats. · ghz.sh, 4 Oct 2026
RPC patterns
ghz supports unary, streaming, and duplex calls using JSON or binary data. · ghz.sh, 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. · github.com, 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. · ghz.sh, 4 Oct 2026
Support
The site links to the guide, Go documentation, GitHub repository, and a community support link labeled “Say Thanks!”. · ghz.sh, 4 Oct 2026
Web application
The beta ghz-web companion stores, displays, compares, and tracks test results over time. · ghz.sh, 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. · ghz.sh, 4 Oct 2026
Web report status
Reports and projects have OK or FAIL status, and a project reflects the status of its latest report. · ghz.sh, 4 Oct 2026
Web result tracking
ghz-web groups individual test reports into projects so results can be tracked, analyzed, and compared over time. · ghz.sh, 4 Oct 2026

Where ghz stands on Freedom251

Look at these too