Releases: tag1consulting/goose
Releases · tag1consulting/goose
v0.10.1
0.10.1 Sep 20, 2020
- rework
hatch_rate
to be stored in anOption<usize>
as it can beNone
on a Worker - remove redundant
GooseAttack.users
instead using theOption<usize>
inconfiguration
- improve bounds handling of defaults, generate errors for invalid values
- properly handle early shutdown of Gaggle distributed load test from Worker process
- Manager starts timing Gaggle distributed load test only after all Workers start
v0.10.0
0.10.0 Sep 13, 2020
- default to resetting statistics, disable with
--no-reset-stats
, display spawning statistics before resetting - only run gaggle integration tests when feature is enabled
- prevent time-drift when launching users and throttling requests
- add per-task statistics in addition to per-request statistics, disable with
--no-task-stats
- rename
stats
andstatistics
tometrics
for consistency and clarity
o--no-stats
became--no-metrics
o--no-reset-stats
became--no-reset-metrics
o--no-task-stats
became--no-task-metrics
o--stats-log-file
became--metrics-log-file
o--stats-log-format
became--metrics-log-format
- shorten some configuration options to fit standard console width, preparation for switch to gumdrop
o--debug-log-file
became--debug-file
o--debug-log-format
became--debug-format
o--metrics-log-file
became--metrics-file
o--metrics-log-format
became--metrics-format
- reworded errors for consistency, made error.detail required
- replace
structopt
withgumdrop
o restructured help page to logically group related options
o rewrote/simplified configuration descriptions to fit standard console width - update prelude documentation
- increase precision of metrics for smaller values
- consistently build configuration from arguments
- replace
GooseAttack::set_host()
with more genericGooseAttack::set_default()
, exposes the following defaults:
o default host:GooseDefault::Host
(&str)
o default users to start:GooseDefault::Users
(usize)
o default users to start per second:GooseDefault::HatchRate
(usize)
o default number of seconds for test to run:GooseDefault::RunTime
(usize)
o default log level:GooseDefault::LogLevel
(usize)
o default log file name:GooseDefault::LogFile
(&str)
o default verbosity:GooseDefault::Verbose
(usize)
o default to only printing final summary metrics:GooseDefault::OnlySummary
(bool)
o default to not resetting metrics after all users start:GooseDefault::NoResetMetrics
(bool)
o default to not tracking metrics:GooseDefault::NoMetrics
(bool)
o default to not tracking task metrics:GooseDefault::NoTaskMetrics
(bool)
o default metrics log file name:GooseDefault::MetricsFile
(&str)
o default metrics log file format:GooseDefault::MetricsFormat
(&str)
o default debug log file name:GooseDefault::DebugFile
(&str)
o default debug log file format:GooseDefault::DebugFormat
(&str)
o default to tracking status codes:GooseDefault::StatusCodes
(bool)
o default maximum requests per second:GooseDefault::ThrottleRequests
(usize)
o default to following redirect of base_url:GooseDefault::StickyFollow
(bool)
o default to enabling Manager mode:GooseDefault::Manager
(bool)
o default number of Workers to expect:GooseDefault::ExpectWorkers
(usize)
o default to ignoring load test checksum:GooseDefault::NoHashCheck
(bool)
o default host to bind Manager to:GooseDefault::ManagerBindHost
(&str)
o default port to bind Manager to:GooseDefault::ManagerBindPort
(usize)
o default to enabling Worker mode:GooseDefault::Worker
(bool)
o default host for Worker to connect to:GooseDefault::ManagerHost
(&str)
o default port for Worker to connect to:GooseDefault::ManagerPort
(usize)
v0.9.0
0.9.0 July 23, 2020
- fix code documentation, requests are async and require await
- properly support setting host when registering task set
- rename
response
wrapper togoose
, so we end up withgoose.request
andgoose.response
- add
--throttle-requests
to optionally limit the maximum requests per second (api change) - introduce
GooseError
andGooseTaskError
- change task function signature, tasks must return a
GooseTaskResult
- change
GooseAttack
method signatures where an error is possible - where possible, passs error up the stack instead of calling
exit(1)
- introduce
GooseAttack.display()
which consumes the load test state and displays statistics panic!()
on unexpected errors instead ofexit(1)
v0.8.2
0.8.2 July 2, 2020
client.log_debug()
will write debug logs to file when specified with--debug-log-file=
- add
-debug-log-format=
to switch betweenjson
(default) andraw
formats - cleanup code with clippy, automate clippy with PRs
- add optional compile-time
rustls
feature
v0.8.1
- sort stats by method:name to ease comparisons
- optionally log all requests to file specified with
--log-stats-file=
- add
--log-stats-format=
to switch betweenjson
(default),csv
andraw
formats
0.8.0
0.8.0 June 26, 2020
- properly subtract previous statistic when handling
set_failure()
andset_success()
- detect and track redirects in
GooseRawRequest
--sticky-follow
makes redirect of GooseClient base_url sticky, affecting subsequent requests- changed
GooseClient
toGooseUser
0.7.5
0.7.5 June 10, 2020
- store actual URL requested in GooseRawRequest
- add
set_client_builder
, allow load test to build Reqwest clients with custom options - properly fix documentation links
0.7.3
0.7.3 June 5, 2020
- move client out of GooseClient into global GooseClientState
- introduce
test_start_task
andtest_stop_task
allowing global setup and teardown - don't panic if a load test doesn't define any normal tasks
- pass immutable GooseClient to tasks
- integrate httpmock into testing load test