# Install ghz with Homebrew, MacPorts, Nix, scoop

Simple gRPC benchmarking and load testing tool. Version 0.121.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:ghz
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ghz
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ghz
```

  Evidence: MacPorts ports tree: net/ghz/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#ghz
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gh/ghz/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/ghz
```

  Evidence: Scoop official bucket manifest trees: bucket/ghz.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:ghz
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/ghz>
- **Version:** 0.121.0
- **Source summary:** Simple gRPC benchmarking and load testing tool
- **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>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ghz (cli)
- ghz (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.121.0
- Local data: ok
- Upstream repository: https://github.com/bojand/ghz
- Upstream latest detected: v0.121.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

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.

### Project history

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.

### Adoption history

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.

### How it is used

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.

### Why package nerds care

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.

### Timeline

- 2018: Public GitHub repository created.
- 2023: The project had tagged releases in the 0.113 to 0.117 range.
- 2024: Releases continued through the 0.120 series.
- 2025: The 0.121.0 release was published.

### Related projects

- ghz is related to gRPC, Protocol Buffers, Go benchmark tooling, and general load-testing tools such as wrk, vegeta, and k6, but it specializes in gRPC request construction and reporting.

### Sources

- <https://api.github.com/repos/bojand/ghz>
- <https://ghz.sh/docs/intro.html>
- <https://github.com/bojand/ghz>
- <https://github.com/bojand/ghz/releases>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **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:** head, stable

## Other Package-Manager Records

- Nix - ghz: normalized package name match | nixpkgs package indexes: pkgs/by-name/gh/ghz/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - ghz: normalized package name match | MacPorts ports tree: net/ghz/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/ghz: normalized package name match | Scoop official bucket manifest trees: bucket/ghz.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [ghz-web](https://www.automicvault.com/pkg/brew/ghz-web/) - Shares the same upstream source repository.
- [http_load](https://www.automicvault.com/pkg/brew/http-load/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, load-testing, performance-testing.
- [httperf](https://www.automicvault.com/pkg/brew/httperf/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, performance-testing.
- [jmeter](https://www.automicvault.com/pkg/brew/jmeter/) - Shares av.db curated category or tags: cli, developer-tools, load-testing, performance-testing.
- [k6](https://www.automicvault.com/pkg/brew/k6/) - Shares av.db curated category or tags: cli, developer-tools, go, load-testing, performance-testing.
- [vegeta](https://www.automicvault.com/pkg/brew/vegeta/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, go, load-testing.
- [weighttp](https://www.automicvault.com/pkg/brew/weighttp/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, performance-testing.
- [artillery](https://www.automicvault.com/pkg/brew/artillery/) - Shares av.db curated category or tags: cli, developer-tools, load-testing, performance-testing.

## Combined YAML source

View the package source record on GitHub. [combined/ghz.yml](https://github.com/automic-vault/db/blob/main/combined/ghz.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
