Skip to content

Commit 47c65fc

Browse files
author
Jesús Fernández
committed
chore: add README
1 parent 2e07274 commit 47c65fc

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ COPY --from=fetcher /tmp/calicoctl /usr/local/bin/calicoctl
8181
# Installing termshark
8282
COPY --from=fetcher /tmp/termshark /usr/local/bin/termshark
8383

84+
# Installing ghz
85+
COPY --from=fetcher /tmp/ghz /usr/local/bin/ghz
86+
8487
# Installing grpcurl
8588
COPY --from=fetcher /tmp/grpcurl /usr/local/bin/grpcurl
8689

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ To troubleshoot these issues, `netshoot` includes a set of powerful tools as rec
165165
ethtool \
166166
file\
167167
fping \
168+
ghz \
168169
grpcurl \
169170
iftop \
170171
iperf \
@@ -720,6 +721,21 @@ grpcurl -plaintext grpc.server.com:80 my.custom.server.Service/Method
720721

721722
More info, examples and lots of documentation on `Grpcurl` [here](https://github.com/fullstorydev/grpcurl)
722723

724+
## Ghz
725+
ghz is a command-line tool that lets you load test a gRPC server. It's basically hey! for gRPC servers.
726+
727+
Invoking an RPC on a trusted server (e.g. TLS without self-signed key or custom CA) that requires no client certs and supports server reflection is the simplest thing to do with ghz. This minimal invocation sends an empty request body:
728+
729+
```bash
730+
ghz grpc.server.com:443 --call my.custom.server.Service/Method
731+
732+
# no TLS
733+
ghz --insecure grpc.server.com:80 --call my.custom.server.Service/Method
734+
```
735+
736+
More info, examples and lots of documentation on `Ghz` [here](https://github.com/bojand/ghz)
737+
738+
723739
## Fortio
724740

725741
Fortio is a fast, small (4Mb docker image, minimal dependencies), reusable, embeddable go library as well as a command line tool and server process, the server includes a simple web UI and REST API to trigger run and see graphical representation of the results (both a single latency graph and a multiple results comparative min, max, avg, qps and percentiles graphs).

build/fetch_binaries.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,17 @@ get_termshark() {
4848
esac
4949
}
5050

51+
get_ghz() {
52+
if [ "$ARCH" == "amd64" ]; then
53+
TERM_ARCH=x86_64
54+
else
55+
TERM_ARCH="$ARCH"
56+
fi
57+
VERSION=$(get_latest_release bojand/ghz | sed -e 's/^v//')
58+
LINK="https://github.com/bojand/ghz/releases/download/v${VERSION}/ghz-linux-${TERM_ARCH}.tar.gz"
59+
wget "$LINK" -O /tmp/ghz && chmod +x /tmp/ghz
60+
}
61+
5162
get_grpcurl() {
5263
if [ "$ARCH" == "amd64" ]; then
5364
TERM_ARCH=x86_64
@@ -80,5 +91,6 @@ get_fortio() {
8091
get_ctop
8192
get_calicoctl
8293
get_termshark
94+
get_ghz
8395
get_grpcurl
8496
get_fortio

0 commit comments

Comments
 (0)