Skip to content
SPECIFICTION
Get listed

Evans vs ghz

Evans

github.com

ghz

ghz.sh

Side by side

FigureEvansghz
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
API—Yes
Self-hosted—Yes
Plans published11
Spec score · gRPC Tools7.9 (#11)8.7 (#2)
LicenseThe repository identifies its license as MIT.The GitHub repository identifies the project license as Apache-2.0.
PurposeEvans is a universal gRPC client for manual API inspection and scripting.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.

Plans

Evans

  • EvansFree

Evans pricing →

ghz

  • ghzFree

ghz pricing →

In their own words

Evans

Evans is a free universal gRPC client for manual API inspection and scripting on Linux, macOS, and Windows. Its interactive REPL completes package, service, and RPC names. Stateless CLI mode reads standard input or files and prints JSON-formatted results. When server reflection is enabled, Evans can use that instead of proto files. It supports client-streaming, server-streaming, and bidirectional-streaming RPCs, plus gRPC-Web; TLS is not supported for gRPC-Web. The listed IDL and codec is Protocol Buffers 3, and the compressor is GZIP. For ordinary gRPC connections, the project documents secure TLS connections with the --tls option. Installation options include GitHub Releases, Homebrew, Docker, and Go, with Releases or Homebrew recommended for automatic updates. The documented Go installation requires Go v1.20 or later. The repeat option does not support client-streaming or bidirectional-streaming RPCs. Evans uses the MIT license.

Visit github.com

ghz

ghz is a command-line utility and Go package for load testing and benchmarking gRPC services, including local debugging and performance regression checks in CI. Tests can define a service with a.proto file, a compiled protoset bundle, or server reflection, and exercise unary, streaming, or duplex calls using JSON or binary data. Load schedules include constant, step, and linear request rates. Go templates can generate request data and metadata for each call using values such as worker ID, request number, method name, and timestamps. The CLI can emit summary, CSV, JSON, pretty JSON, HTML, Prometheus text exposition, and InfluxDB line protocol results. Documentation also covers InfluxDB output, Prototool, and prebuilt Grafana dashboards. The complementary ghz-web application is labeled beta; it stores reports in projects for viewing and comparison over time, and supports SQLite, MySQL, or PostgreSQL storage. It accepts reports through ingest endpoints. The project is identified as Apache-2.0 licensed. Installation options include prebuilt executables, Homebrew, and building from source. The CLI is listed at free; the web companion is beta.

Visit ghz.sh