Skip to content

Releases: bojand/ghz

v0.96.0

27 Jun 01:30
58e93c8
Compare
Choose a tag to compare

Changelog

v0.96.0 - 2021-06-26

Commits

  • 58e93c8 Merge pull request #289 from bojand/dependabot/npm_and_yarn/web/ui/ws-5.2.3
  • de993a8 Merge pull request #288 from bojand/dependabot/npm_and_yarn/www/website/color-string-1.5.5
  • 0d20bbd Merge pull request #287 from bojand/dependabot/npm_and_yarn/web/ui/color-string-1.5.5
  • 36aa92d Merge pull request #285 from bojand/dependabot/npm_and_yarn/www/website/set-getter-0.1.1
  • bb76581 Merge pull request #286 from ZymoticB/td-fix-shutdown
  • f245846 build(deps): bump ws from 5.2.2 to 5.2.3 in /web/ui
  • 4b17ede build(deps): bump color-string from 1.5.3 to 1.5.5 in /www/website
  • 7ae6226 build(deps): bump color-string from 1.5.4 to 1.5.5 in /web/ui
  • b41f6b4 Merge pull request #283 from bojand/dependabot/npm_and_yarn/www/website/postcss-7.0.36
  • 7b01bcd Fix racy requester shutdown logic
  • 7002643 build(deps): bump set-getter from 0.1.0 to 0.1.1 in /www/website
  • ff21656 build(deps): bump postcss from 7.0.32 to 7.0.36 in /www/website
  • 06f029c Merge pull request #278 from bojand/dependabot/npm_and_yarn/web/ui/hosted-git-info-2.8.9
  • 223cad1 Merge pull request #277 from bojand/dependabot/npm_and_yarn/www/website/hosted-git-info-2.8.9
  • e6dd36e Merge pull request #276 from bojand/dependabot/npm_and_yarn/web/ui/lodash-4.17.21
  • 1254273 build(deps): bump lodash from 4.17.20 to 4.17.21 in /web/ui
  • 1ccc208 Merge pull request #275 from bojand/dependabot/npm_and_yarn/www/website/lodash-4.17.21
  • 60d3478 Merge pull request #274 from bojand/dependabot/npm_and_yarn/www/website/url-parse-1.5.1
  • 1c29d2f Merge pull request #273 from bojand/dependabot/npm_and_yarn/web/ui/ua-parser-js-0.7.28
  • 22b9c85 Refresh certificates
  • 477c002 build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /web/ui
  • 93d2f04 build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /www/website
  • 9bb5d71 build(deps): bump lodash from 4.17.19 to 4.17.21 in /www/website
  • a216fe6 build(deps): bump url-parse from 1.4.7 to 1.5.1 in /www/website
  • 92a0bb1 build(deps): bump ua-parser-js from 0.7.23 to 0.7.28 in /web/ui

v0.95.0

04 May 01:17
ff10171
Compare
Choose a tag to compare

Changelog

v0.95.0 - 2021-05-03

Bug Fixes

  • cfcfaac use custom template funcs for metadata

Build

Commits

  • ff10171 Merge pull request #270 from jwiklund/binary-metadata
  • 8d555a2 Merge pull request #272 from bojand/metadata_template_funcs_fix
  • cfcfaac use custom template funcs for metadata
  • 79e4749 Refresh certificates
  • 57df589 Decode base64 binary metadata
  • b4acfb8 Merge pull request #269 from messer/docs--fix-ranom-typo
  • e61e194 docs(randomString): Fix ranom -> random typo.
  • 3209906 update go to 1.16
  • 532fb1e Refresh certificates
  • 01f2c7d Merge pull request #262 from bojand/dependabot/npm_and_yarn/www/website/prismjs-1.23.0
  • a05caa4 Merge pull request #265 from bojand/timestamp_tests
  • 0b586dd add timestamp tests
  • b0833e3 build(deps): bump prismjs from 1.21.0 to 1.23.0 in /www/website

v0.94.0

10 Mar 02:00
Compare
Choose a tag to compare

Changelog

v0.94.0 - 2021-03-09

Build

Commits

  • 75ca595 update go version
  • ecab654 Merge pull request #263 from sprivitera/fix/custom_template_functions
  • ad3b680 Add tests for custom functions
  • b4c535a Refresh certificates
  • ddb571b support custom template functions provided through RunConfig.funcs

v0.93.0

20 Feb 01:59
b9aa837
Compare
Choose a tag to compare

Changelog

v0.93.0 - 2021-02-19

Documentation

  • d99d72f add randomInt documentation

Commits

  • b9aa837 Merge pull request #261 from bojand/calldata_func_random_int
  • d99d72f add randomInt documentation
  • dc5d0ac add randomInt call data template function

v0.92.0

15 Feb 01:19
Compare
Choose a tag to compare

Changelog

v0.92.0 - 2021-02-13

Enhancements

  • f3a8748 add preseed and caching for metadata
  • 67fd70b add warning log for load balancing strategy without dns scheme

Commits

  • f3a8748 add preseed and caching for metadata
  • 67fd70b add warning log for load balancing strategy without dns scheme
  • a9012d2 fix sizes
  • cd2a3aa fixing errors
  • 1377d2a update dependencies for ghz-web

v0.91.0

12 Feb 01:47
ce92238
Compare
Choose a tag to compare

Changelog

v0.91.0 - 2021-02-11

Commits

  • ce92238 Merge pull request #259 from CAFxX/cafxx-lb-strategy
  • 4a9ef92 add(cmd/ghz): expose --lb-strategy
  • efd193d Refresh certificates

v0.90.0

10 Jan 01:37
2a63c46
Compare
Choose a tag to compare

Changelog

v0.90.0 - 2021-01-09

Documentation

Commits

  • 2a63c46 Merge pull request #256 from bojand/stream_message_provider
  • 4c77580 Merge pull request #257 from bojand/bin_fields_docs
  • 9bbf837 binary fields docs
  • 65733b6 add stream message provider api

v0.80.0

02 Jan 14:12
37484c7
Compare
Choose a tag to compare

Changelog

v0.80.0 - 2021-01-02

Changes

Attempt address at least in part #162, #169, #226 and #184.

CLI

Essentially adds several options for controlling behaviour of streaming calls:

--stream-call-duration

Maximum stream call duration. For client streaming and bidi calls, we'll send messages until this duration expires.

For server streaming calls we will receive message until the duration has expired. Note that in server streaming calls the cancellation will result in call cancelled error.

Example: 500ms.

--stream-call-count

The maximum number of message sends or receives the client will perform in a streaming call before closing the stream and ending the call. For client and bidi streaming calls this dictates the number of messages we will send.

If the data array contains more elements than the count, only data up to the number specified will be used.

If the data array contains fewer elements than the count specified, all the data will be iterated over repeatedly until count limit is reached.

For server streaming calls we will receive message until the specified count is reached. Note that in server streaming calls the cancellation will result in call cancelled error.

Examples:

--stream-call-count=2 -d '[{"name":"Joe"},{"name":"Kate"},{"name":"Sara"}]'

Will cause only [{"name":"Joe"},{"name":"Kate"}] to be sent. Similarly:

--stream-call-count=5 -d '[{"name":"Joe"},{"name":"Kate"},{"name":"Sara"}]'

Will cause [{"name":"Joe"},{"name":"Kate"},{"name":"Sara"},{"name":"Joe"},{"name":"Kate"}] to be sent.

--stream-dynamic-messages

In streaming calls, regenerate and apply call template data on every message send operation.
This is helpful in combination with template functionality to generate data for every message sent in a streaming call.
For example:

--stream-dynamic-messages=true --stream-call-count=5 -d '{"name":"{{randomString 8 }}"}'

Will result in streaming call with the following data sent:

[{"name":"sKNdMCIb"},{"name":"KLVXDvn1"},{"name":"RJ3knnBh"},{"name":"FTBqQ7nl"},{"name":"FzeMQIWo"}]

Contrast that with the default dynamic messages setting turned off; which means the template data will be applied only once for each stream call request, but not for each message sent in the streaming call.

--stream-call-count=5 -d '{"name":"{{randomString 8 }}"}'

Results in the following data sent:

[{"name":"5hL64dd0"},{"name":"5hL64dd0"},{"name":"5hL64dd0"},{"name":"5hL64dd0"},{"name":"5hL64dd0"}]
--count-errors

By default stats for fastest, slowest, average, histogram, and latency distributions only take into account the responses with OK status. This option enabled counting of erroneous (non-OK) responses in stats calculations as well.

API

In addition to API to support the above options, there are a few Go package API functions introduced in this pull request that are not exposed via CLI options.

WithDataProvider can be used to specify a custom data provider function that's invoked with every call.

WithDataProvider(func(*CallData) ([]*dynamic.Message, error) {
	protoMessage := &helloworld.HelloRequest{Name: "Bob"}
	dynamicMessage, err := dynamic.AsDynamicMessage(protoMessage)
	if err != nil {
		return nil, err
	}
	return []*dynamic.Message{dynamicMessage}, nil
}),

The signature is the same for unary or streaming calls. For unary calls the function must return an array with at least 1 value. The first value is always used for unary calls.

Similarly there is a metadata provider function.

WithMetadataProvider(func(*CallData) (*metadata.MD, error) {
	return &metadata.MD{"token": []string{mdv}}, nil
}),

WithStreamRecvMsgIntercept can be used to add an interceptor function to streaming call that is invoked every time we receive a streaming message. Example usage:

WithStreamRecvMsgIntercept(func(msg *dynamic.Message, err error) error {
	if err == nil && msg != nil {
		reply := &helloworld.HelloReply{}
		convertErr := msg.ConvertTo(reply)
		if convertErr == nil {
			if reply.GetMessage() == "Hello bar" {
				return ErrEndStream
			}
		}
	}
	return nil
})

In future release we hope to remove reliance on the github.com/jhump/protoreflect/dynamic package for these APIs.

v0.71.0

21 Dec 23:36
18fe406
Compare
Choose a tag to compare

Changelog

v0.71.0 - 2020-12-21

Documentation

  • af29368 fixing image links in website docs
  • ba62cfc fixing website sidebar and image links
  • befeb61 fixing paths in concurrency docs
  • d3b6cb8 update website workflow
  • 3596d25 update website sidebar

Commits

  • 18fe406 Merge pull request #253 from howardjohn/grpc/update-134
  • d47a4ee Update gRPC dependency
  • 15f8ed9 Merge pull request #243 from bojand/dependabot/npm_and_yarn/www/website/highlight.js-9.18.5
  • 58e2ece Merge pull request #245 from bojand/dependabot/npm_and_yarn/www/website/bl-1.2.3
  • dd68813 Merge pull request #246 from bojand/dependabot/npm_and_yarn/web/ui/dot-prop-4.2.1
  • b4113f4 build(deps): bump bl from 1.2.2 to 1.2.3 in /www/website
  • e47e656 build(deps): bump dot-prop from 4.2.0 to 4.2.1 in /web/ui
  • 2fda958 Refresh certificates
  • 2214d1a build(deps): bump highlight.js from 9.18.1 to 9.18.5 in /www/website
  • af29368 fixing image links in website docs
  • ba62cfc fixing website sidebar and image links
  • befeb61 fixing paths in concurrency docs
  • d3b6cb8 update website workflow
  • 3596d25 update website sidebar

v0.70.0

21 Nov 15:39
Compare
Choose a tag to compare

Changelog

v0.70.0 - 2020-11-21

Changes

  • qps option renamed to -r, --rps.
  • Added --async option to allow for sending of requests asynchronously.
  • Added a collection of --load-* parameters to control request rate.
  • Added a similar collection of --concurrency-* parameters to control the worker concurrency.

Please see docs for additional info and usage.

Build

  • 83e5ecc fixing brew forumla release workflow

Commits

  • 83e5ecc fixing brew forumla release workflow
  • 37ed69e Merge pull request #235 from bojand/pace
  • c115457 add custom pacer and worker ticker configs
  • 6c935ef Merge branch 'master' into pace
  • 8bcc6ae fixing github release workflow env vars
  • 68bdb5f fixing github release workflow env vars
  • 5a18ca5 update html template
  • fb38e75 add new load and concurrency options to reporter and printer
  • a8d9ac7 Merge branch 'master' into pace
  • c31b957 cleanup Makefile
  • 9baf008 clean up options
  • fff27be Merge branch 'master' into pace
  • 1fbc366 Merge branch 'master' into pace
  • 7be9e72 concurrency docs
  • 54efa0a docs and code cleanup
  • a61944b more worker ticket tests
  • bd4670e add more tests
  • 946c6d7 add tools. update golangci-lint. fix linting issues
  • b24d883 add concurrency example
  • d0ece60 more load docs examples
  • a2bed3c fix load docs formatting
  • 8eaf49b qps -> rps. add load walktrough. wip
  • 05b30b9 logs
  • deb669b docs and fixes
  • faaec5d help
  • a64ff50 step and line
  • 7fb2f0d wip on pace
  • afa1227 wip on new pace logic
  • 9814e0c initial base work for pace and concurrency control