Automic VaultAutomic Vault

brew

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

Additional install commands

macOS

Homebrewverified · 100%
brew install ghz

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install ghz

MacPorts ports tree · net/ghz/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#ghz

nixpkgs package indexes · pkgs/by-name/gh/ghz/package.nix · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/ghz

Scoop official bucket manifest trees · bucket/ghz.json · source: api.github.com

overview

Package summary

Simple gRPC benchmarking and load testing tool

Commands and aliases

  • ghz

history

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.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
ghzcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version0.121.0
manager updated
local dataok
upstreamcurrent
latest detectedv0.121.0

https://github.com/bojand/ghz

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:ghz
Version0.121.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/ghz
Homepagehttps://ghz.sh
Repositoryhttps://github.com/bojand/ghz
Upstream docshttps://ghz.sh/docs/intro.html
LicenseApache-2.0
Source archivehttps://github.com/bojand/ghz/archive/refs/tags/v0.121.0.tar.gz
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameghz
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

ghz

nix profile install nixpkgs#ghz
  • normalized package name match
  • Matched by: Ghz
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/gh/ghz/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
MacPorts95%

ghz

sudo port install ghz
  • normalized package name match
  • Matched by: Ghz
MacPorts ports tree · api.github.com · MacPorts ports tree: net/ghz/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

main/ghz

scoop install main/ghz
  • normalized package name match
  • Matched by: Ghz
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/ghz.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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