Skip to content

Releases: tag1consulting/goose

v0.10.1

20 Sep 06:26
6203864
Compare
Choose a tag to compare

0.10.1 Sep 20, 2020

  • rework hatch_rate to be stored in an Option<usize> as it can be None on a Worker
  • remove redundant GooseAttack.users instead using the Option<usize> in configuration
  • 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

13 Sep 06:14
91023b4
Compare
Choose a tag to compare

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 and statistics to metrics 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 with gumdrop
    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 generic GooseAttack::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

23 Jul 06:42
a7f710a
Compare
Choose a tag to compare

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 to goose, so we end up with goose.request and goose.response
  • add --throttle-requests to optionally limit the maximum requests per second (api change)
  • introduce GooseError and GooseTaskError
  • 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 of exit(1)

v0.8.2

02 Jul 14:22
dbb8885
Compare
Choose a tag to compare

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 between json (default) and raw formats
  • cleanup code with clippy, automate clippy with PRs
  • add optional compile-time rustls feature

v0.8.1

30 Jun 13:26
5ecd7bf
Compare
Choose a tag to compare
  • 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 between json (default), csv and raw formats

0.8.0

26 Jun 09:58
add2ddd
Compare
Choose a tag to compare

0.8.0 June 26, 2020

  • properly subtract previous statistic when handling set_failure() and set_success()
  • detect and track redirects in GooseRawRequest
  • --sticky-follow makes redirect of GooseClient base_url sticky, affecting subsequent requests
  • changed GooseClient to GooseUser

0.7.5

10 Jun 18:46
Compare
Choose a tag to compare

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

05 Jun 04:43
Compare
Choose a tag to compare

0.7.3 June 5, 2020

  • move client out of GooseClient into global GooseClientState
  • introduce test_start_task and test_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