macOS
brew install ghzlocal Homebrew formula metadata
sudo port install ghzMacPorts ports tree · net/ghz/Portfile · source: api.github.com
brew
Simple gRPC benchmarking and load testing tool. Version 0.121.0 via Homebrew; verified from local package data.
install
brew install ghzlocal Homebrew formula metadata
sudo port install ghzMacPorts ports tree · net/ghz/Portfile · source: api.github.com
nix profile install nixpkgs#ghznixpkgs package indexes · pkgs/by-name/gh/ghz/package.nix · source: api.github.com
scoop install main/ghzScoop official bucket manifest trees · bucket/ghz.json · source: api.github.com
overview
Simple gRPC benchmarking and load testing tool
history
ghz is a Go-based command-line utility and library for benchmarking and load testing gRPC services. Its niche is the gap between generic HTTP load generators and the protocol-specific needs of gRPC users, including proto files, reflection, metadata, streaming calls, and structured reports.
The public GitHub repository was created in March 2018 by Bojan D., with the project described from the start as a simple gRPC benchmarking and load testing tool. The documentation presents ghz as both a CLI and a Go package, so the project evolved around two usage surfaces: a terminal tool for direct test runs and library APIs for embedding performance tests in Go programs.
The release stream moved through many 0.x versions, with tagged releases reaching the 0.100 series by the early 2020s. That long pre-1.0 series fits the tool's role in a fast-moving gRPC ecosystem, where users needed practical support for proto/protoset inputs, reflection, TLS options, load schedules, output formats, and CI-friendly regression testing.
ghz gained adoption among teams that operate gRPC services and need a protocol-aware load generator rather than adapting HTTP-centric tools. Its availability through Homebrew, MacPorts, Nix, Scoop, Docker, GitHub releases, and `go install` made it easy to put into developer laptops, CI jobs, and ephemeral benchmark environments.
The repository's public footprint, package-manager coverage, and dedicated documentation site indicate a tool used beyond a single internal project. Its significance is strongest in Go and gRPC communities, where generated protobuf types and service method names are already part of the normal development workflow.
Practitioners use ghz to run local checks against a gRPC endpoint, tune request rate and worker concurrency, exercise unary or streaming methods, and emit summary, JSON, CSV, HTML, or Influx-compatible output. The documented Go package lets teams build custom performance tests around the same runner and printer machinery.
A common workflow is to provide a `.proto` file or protoset, name a fully qualified service method, pass JSON call data and metadata, then vary request counts, duration, rate limits, concurrency schedules, and TLS settings while watching latency and error distributions.
For package maintainers, ghz is a compact example of a Go CLI that ships well across ecosystems: single binaries, Homebrew formula, Scoop manifest, Nix package, Docker build, and direct `go install`. For users, it is the installable gRPC benchmarker that avoids building a one-off harness for every service.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
ghz | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:ghz |
|---|---|
| Version | 0.121.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/ghz |
| Homepage | https://ghz.sh |
| Repository | https://github.com/bojand/ghz |
| Upstream docs | https://ghz.sh/docs/intro.html |
| License | Apache-2.0 |
| Source archive | https://github.com/bojand/ghz/archive/refs/tags/v0.121.0.tar.gz |
| Build dependencies | go |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | ghz |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
ghz
nix profile install nixpkgs#ghzghz
sudo port install ghzmain/ghz
scoop install main/ghzsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.