Skip to content

Releases: bojand/ghz

v0.13.0

08 Sep 19:24
6350d97
Compare
Choose a tag to compare

Highlights

Added InfluxDB line protocol format support for output.

Using -O influx-summary outputs the summary data as InfluxDB Line Protocol. Sample output:

ghz_run,proto="/testdata/greeter.proto",call="helloworld.Greeter.SayHello",host="0.0.0.0:50051",n=1000,c=50,qps=0,z=0,timeout=20,dial_timeout=10,keepalive=0,data="{\"name\":\"{{.InputName}}\"}",metadata="{\"rn\":\"{{.RequestNumber}}\"}",errors=74,has_errors=true count=1000,total=50000556,average=1771308,fastest=248603,slowest=7241944,rps=19999.78,median=1715940,p95=4354194,errors=74 128802790

Use -O influx-summary to get the individual details for each request:

ghz_detail,proto="/testdata/greeter.proto",call="helloworld.Greeter.SayHello",host="0.0.0.0:50051",n=1000,c=50,qps=0,z=0,timeout=20,dial_timeout=10,keepalive=0,data="{\"name\":\"{{.InputName}}\"}",metadata="{\"rn\":\"{{.RequestNumber}}\"}",hasError=false latency=5157328,error=,status=OK 681023506
ghz_detail,proto="/testdata/greeter.proto",call="helloworld.Greeter.SayHello",host="0.0.0.0:50051",n=1000,c=50,qps=0,z=0,timeout=20,dial_timeout=10,keepalive=0,data="{\"name\":\"{{.InputName}}\"}",metadata="{\"rn\":\"{{.RequestNumber}}\"}",hasError=false latency=4990499,error=,status=OK 681029613

Changelog

6350d97 InfluxDB Line Protocol support (#26)
60ab9ba Merge pull request #28 from kenju/rm-unused-method
6052e84 Merge pull request #29 from kenju/fix-readme
cc03fb4 remove duplicated options from README.md
acbf3c2 remove unused parseConfigString from config.go

v0.12.0

24 Aug 00:15
Compare
Choose a tag to compare

Change Highlights

ghz now defaults to secure connection and uses the system's default root certificate if no certificate options are specified. To use an insecure connection use -insecure flag.

Changelog

a54d5e8 [skip ci] update usage in readme
b8eed72 add insecure flag to requestor tests
5b9e967 Merge pull request #27 from tab1293/insecure-flag
e63bc5d Default to secure connection with option to use insecure flag

v0.11.0

10 Aug 00:27
Compare
Choose a tag to compare

Changelog

b5d9c80 add options to html format output

v0.10.0

06 Aug 01:51
Compare
Choose a tag to compare

Changelog

702c3b9 add options to JSON output

v0.9.0

01 Aug 01:36
cd8bfd0
Compare
Choose a tag to compare

Changelog

cd8bfd0 Merge pull request #25 from bojand/report_date
d78f87b add date to report struct and add it to the JSON output
2d0f23a update readme

v0.8.0

26 Jul 00:28
bca0dba
Compare
Choose a tag to compare

Changelog

bca0dba Merge pull request #23 from bojand/stdin
0a5afb6 add support for stdin data

v0.7.0

20 Jul 02:09
bfc217c
Compare
Choose a tag to compare

Changelog

bfc217c Add support for call template data. Addresses #20. (#21)

Data and metadata can specify template actions that will be parsed and evaluated at every request. Each request gets a new instance of the data. The available variables / actions are:

// call template data
type callTemplateData struct {
	RequestNumber      int64  // unique incrememnted request number for each request
	FullyQualifiedName string // fully-qualified name of the method call
	MethodName         string // shorter call method name
	ServiceName        string // the service name
	InputName          string // name of the input message type
	OutputName         string // name of the output message type
	IsClientStreaming  bool   // whether this call is client streaming
	IsServerStreaming  bool   // whether this call is server streaming
	Timestamp          string // timestamp of the call in RFC3339 format
	TimestampUnix      int64  // timestamp of the call as unix time
}

This can be useful to inject variable information into the data or metadata payload for each request, such as timestamp or unique request number. Example:

$ ghz -proto ./greeter.proto -call helloworld.Greeter.SayHello -d '{"name":"Joe"}' -m '{"trace_id":"{{.RequestNumber}}","timestamp":"{{.TimestampUnix}}"}' 0.0.0.0:50051

This ends up substituting the template variables with the request number and unix timestamp respectively.


Automated with GoReleaser
Built with go version go1.10.1 darwin/amd64

v0.6.0

11 Jul 00:25
Compare
Choose a tag to compare

Changelog

  • Renamed to ghz because I like the name better and it's a shorter command. 😄
  • Added HTML output. Sample

6b6d32c [skip ci] remove link to demo gif
4290c27 [skip ci] remove out.html
cbe8ea6 rename to ghz (#19)
198e664 Add HTML output format (#18)


Automated with GoReleaser
Built with go version go1.10.1 darwin/amd64

v0.5.0

05 Jun 00:14
Compare
Choose a tag to compare

Changelog

1965bb5 update readme
85341d4 Merge pull request #16 from bojand/pretty_json
e29ac01 Merge branch 'master' into pretty_json
16d9ebc Merge pull request #15 from bojand/duration_fix
2b96b8f Fix -z duration option and add -x duration option
c740cb9 add prety_json support. add json formatting. update test cert and key


Automated with GoReleaser
Built with go version go1.10.1 darwin/amd64

v0.4.1

04 May 23:51
Compare
Choose a tag to compare

Changelog

220fecc fix usage


Automated with GoReleaser
Built with go version go1.10.1 darwin/amd64