Monday, October 26, 2026 4,350 lists 78,101 records on file
List your app or device

  1. Home
  2. gRPC Tools
  3. ghz

ghz

What it is

ghz is a free command-line utility and Go package for load testing and benchmarking gRPC services. It can support local debugging and performance regression checks in automated CI environments. Tests can define services using a .proto file, a compiled protoset bundle, 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, JSON, pretty JSON, HTML, Prometheus text exposition, or InfluxDB line protocol. The beta ghz-web companion stores reports in projects for viewing and comparison over time, with SQLite, MySQL, or PostgreSQL storage options. It provides ingest endpoints for reports. Installation options include prebuilt executables, Homebrew, or building from source. The project is identified as Apache-2.0 licensed, and documentation includes security connection options such as certificates and plaintext connections.

For and against

For

  • Supports unary, streaming, and duplex gRPC calls
  • Offers constant, step, and linear request rates
  • Produces several report formats, including CSV and HTML
  • ghz-web supports SQLite, MySQL, and PostgreSQL

Against

  • The ghz-web companion is labeled beta
  • ghz-web is self-hosted

The verdict

ghz provides gRPC load testing with configurable call patterns, request data, and output formats. The companion adds report tracking, but it is a beta server and web application.

Who it suits

ghz suits developers who need to exercise gRPC services locally or in CI and inspect results in varied formats. Teams wanting a web interface can also consider its beta self-hosted ghz-web companion.

Plans and prices

ghz

Free

Open-source gRPC load testing CLI and Go package; complementary web application is beta

Every plan, in full

On the record

API
ghz-web provides ingest endpoints for raw JSON reports, including an endpoint that creates a project automatically.ghz.sh · read 4 Oct 2026
Call types
The maker says ghz can test unary, streaming, and duplex calls using JSON or binary data.ghz.sh · read 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 · read 4 Oct 2026
Dynamic data
Go templates and template functions can generate request data and metadata for each request.ghz.sh · read 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 · read 4 Oct 2026
Installation
The maker documents downloadable operating-system binaries, Homebrew, source builds, and Docker installation.github.com · read 4 Oct 2026
Integrations
The documentation includes prebuilt Grafana dashboards and describes InfluxDB output and use with Prototool.ghz.sh · read 4 Oct 2026
License
The GitHub repository identifies the project license as Apache-2.0.github.com · read 4 Oct 2026
Load patterns
Load options include constant, step, and linear request rates.ghz.sh · read 4 Oct 2026
Load schedules
Load can use constant, step, or line schedules to control request rates.ghz.sh · read 4 Oct 2026
Output formats
Results can be emitted as summary, CSV, JSON, pretty JSON, HTML, Prometheus text, or InfluxDB line protocol.ghz.sh · read 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 · read 4 Oct 2026
Protocol definitions
Tests can use a .proto file, a compiled protoset bundle, or server reflection.ghz.sh · read 4 Oct 2026
Protocol inputs
ghz can use a proto file, a prebuilt protoset bundle, or server reflection.ghz.sh · read 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 · read 4 Oct 2026
Report formats
The CLI documents summary, CSV, HTML, JSON, Prometheus text exposition, and InfluxDB line protocol output formats.ghz.sh · read 4 Oct 2026
RPC patterns
ghz supports unary, streaming, and duplex calls using JSON or binary data.ghz.sh · read 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 · read 4 Oct 2026

The review

Overview

ghz is a free command-line tool and Go package for driving load against gRPC services. It suits developers who need configurable performance checks for local debugging or CI regression work. Its CLI is the clear strength; the optional report dashboard is beta and must be self-hosted.

Key features

Tests can identify an RPC service through a .proto file, a compiled protoset bundle, or server reflection. ghz covers unary, streaming, and duplex calls with JSON or binary data, giving teams a way to exercise both request-response and ongoing exchanges. Constant, step, and linear schedules control how request rates change, which helps shape a run around a chosen load profile.

Go templates can generate request data and metadata for each call, drawing on values such as worker ID, request number, method name, and timestamps. This enables varied traffic, though realistic scenarios depend on the templates the test author builds. Results can be emitted as summaries, CSV, JSON, pretty JSON, HTML, Prometheus text exposition, or InfluxDB line protocol. Documentation also covers Grafana dashboards, InfluxDB output, and Prototool use, making the CLI workable with several reporting paths without the companion.

Connection options include CA certificates, client certificates and keys, and a server-name override. Plaintext connections and skipped TLS verification are also supported; the latter options call for care in environments where transport security matters. Installation can use prebuilt executables, Homebrew, or a build from source with make or Go. The project uses the Apache-2.0 license.

Pricing

ghz costs nothing. The free plan includes the open-source CLI and Go package, with no seat or usage cap stated. There is no paid tier or trial offer described. ghz-web is a complementary beta application, not a priced upgrade; teams that want its report tracking need to install and operate it themselves.

Platforms

The product is listed for API use, Linux, and self-hosted deployment. ghz-web is distributed as a prebuilt executable for the user's operating system and accepts configuration through environment variables or a configuration file. It can store results in SQLite, MySQL, or PostgreSQL, giving teams a choice of local or server database arrangements.

Who it's for

ghz is a strong fit for Go developers and platform teams that need repeatable gRPC load checks and can work comfortably with a CLI. CI users can use it for performance regression checks, while the range of call types and load schedules serves teams studying more than simple unary traffic. It is less suitable for readers who expect a managed graphical service or a polished web reporting product: ghz-web is beta and self-hosted.

Pros and cons

  • Pros: Multiple protocol-definition options, three RPC patterns, and adjustable request-rate schedules cover a broad set of gRPC load scenarios.
  • Pros: Per-request templates and several output formats let teams shape traffic and feed results into existing analysis workflows.
  • Pros: The free CLI and Go package support local and CI use without a paid plan.
  • Cons: Dynamic test data must be authored by the user, so traffic realism depends on the quality of those templates.
  • Cons: ghz-web is beta and requires self-hosting, adding operational work for teams that want persistent, comparable reports.
  • Cons: Plaintext and TLS-verification bypass options require deliberate handling in security-sensitive environments.

Alternatives

For other options, see gRPC Tools. Choose gRPC CLI for a free tool focused on building from source and unary RPC calls across Linux, macOS, and Windows. grpcmock-go is a free Go module of gRPC testing utilities for Linux and self-hosted use. Kreya is a freemium cross-platform option for individuals, though its free plan keeps request history to the latest request.

Chiko, gRPC Swagger, protoc-gen-doc, sabledocs, and Bandura are also listed as alternatives.

Verdict

Choose ghz if you need a free, scriptable way to load-test gRPC services across multiple RPC patterns and integrate results into a CI or monitoring workflow. Its main advantage is the breadth of control in the CLI; look elsewhere if your decision depends on a ready-to-use web reporting interface, since ghz-web remains a beta project you must run yourself.

Alternatives to ghz

Every alternative, ranked