Releases: tag1consulting/goose
Releases · tag1consulting/goose
v0.17.2
0.17.2 August 28, 2023
- Speed up user initialization by @Michael-Hollister in #557
- remove empty if branch by @jeremyandrews in #560
- disable default chrono features, fix potential segfault in the time crate by @jeremyandrews in #559
New Contributors
- @Michael-Hollister made their first contribution in #557
Full Changelog: 0.17.1...0.17.2
v0.17.1
0.17.1 August 17, 2023
- #543 remove external dependency on num_cpus(), use instead built-in available_parallelism() added in rust 1.59.0
- #552 add
scenario_index
,scenario_name
,transaction_index
andtransaction_name
to the request log - #553 remove
serde_cbor
dependency no longer required due to [#529] - #554 update
flume
,itertools
,strum
,strum_macros
,tokio-tungstenite
, andtungestenite
dependencies to latest versions - #555 don't panic when report has no data
v0.17.0
Gaggle support has been temporarily removed in this release.
Regression testing summary and details.
0.17.0 December 9, 2022
- #529 API change temporaryily removed Gaggle support
gaggle
feature) to allow upgrading Tokio and other dependencies.- if you require Gaggle support, use Goose 0.16.4 with Tokio 0.15 for now; Gaggle support is being added back in #509
- updated Tokio to 1.23, updated tungestenite and tokio-tungstenite to 0.18; updated ctrlc to 3.2; updated num_cpus to 1.14, updated simplelog to 0.12, updated nix to 0.26, updated rustls to 0.20, updates serial_test to 0.9
- removed
nng
dependency andgaggle
feature - removed
--manager
,--expect-workers
,--no-hash-check
,--manager-bind-host
,--manager-bind-port
,--worker
,--manager-host
,--manager-port
and related configuration defaults - removed
AttackMode::Manager
andAttackMode::Worker
- ignore all Gaggle tests, will re-enable these tests when Gaggle support is re-implemented
- Box
TransactionError
to avoid over-allocating memory on the stack (seeexamples/session.rs
for an example of working with this)
v0.16.4
0.16.4 September 20, 2022
- #512 include proper HTTP method and path in logs and html report when using
GooseRequest::builder()
- #514 fix panic when an empty wait time interval is set
- #516 fix unescaped inner quotes in csv logs
- #519 implement
Default
forGooseConfiguration
- #522 display times on the report in local time (instead of UTC)
v0.16.3
- #498 ignore
GooseDefault::Host
if set to an empty string - #487 add dev-dependency on (nix)[https://docs.rs/nix] to provide test coverage confirming proper shutdown from SIGINT (ctrl-c); capture ctrl-c in a lazy_static wrapped in a RwLock so it can be reset
- #489 don't panic when writing report file and shutting down with controller
- #505 introduce
--scenarios
(andGooseDefault::Scenarios
) so a subset of scenarios can be launched, and--scenarios-list
to display internal machine names for matching
v0.16.2
0.16.2 May 20, 2022
- #477 introduce
--iterations
(andGooseDefault::Iterations
) which configures each GooseUser to run a configurable number of iterations of the assigned Scenario then exit; introduces Scenario metrics which can be disabled with--no-scenario-metrics
(GooseDefault::NoScenarioMetrics
); introduces--scenario-log
and--scenario-format
(andGooseDefault::ScenarioLog
andGooseDefault::ScenarioFormat
) - #483 remove duplicate help (-h) output
v0.16.1
0.16.1 May 12, 2022
- #464 add
startuptime
(andstartup_time
) TIME to controllers, setting how long the load test should spend starting configured number of users - #469 support
users
INT command on controllers during a running load test - #473 introduce
test-plan PLAN
command allowing configuration of test plan with the controller during running and idle load tests
v0.16.0
This release includes some significant changes. See tag1consulting/goose-eggs#45 for an example of how to update from 0.15.2 to 0.16.0.
0.16.0 May 1, 2022
- #431 rename
--no-granular-data
to--no-granular-report
- #415 display granular data in HTML graphs, introduce
--no-granular-data
to disable it and display graphs as they were until this change - #406 make sure that the graphs are built correctly if the load test is interrupted during the starting phase
- #408 update 'Running the load test' page in the Goose book to show HTML report
- #411 API change: some public APIs have been made private or removed
outil::MovingAverage
structure and all related functions have been moved to a different namespace and made private
oGooseRequestMetricAggregate::requests_per_second
,GooseRequestMetricAggregate::errors_per_second
andGooseRequestMetricAggregate::average_response_time_per_second
have been removed
oGooseTaskMetricAggregate::tasks_per_second
has been removed
oGooseMetrics::users_per_second
has been removed
o formerly public methodsreport::task_metrics_template()
andreport::errors_template()
have been made private
oreport::graph_rps_template()
,report::graph_eps_template()
,report::graph_average_response_time_template()
,report::graph_users_per_second_template()
andreport::graph_tasks_per_second_template()
have been removed - #379 API change: default to
INFO
level verbosity, introduce-q
to reduce Goose verbosity
o note:-v
now sets Goose toDEBUG
level verbosity which when enabled will negatively impact load test performance; set-q
to restore previous level of verbosity - #379 API change: remove
.print()
which is no longer required to display metrics after a load test, disable with--no-print-metrics
orGooseDefault::NoPrintMetrics
- #422 API change: introduce
--test-plan
andGooseDefault::TestPlan
o internally represent all load tests asVec<(usize, usize)>
l test plan
o use [FromStr] to auto convert --test-plan "{users},{timespan};{users},{timespan}", where {users} must be an integer, ie "100", and {timespan} can be integer seconds or "30s", "20m", "3h", "1h30m", etc, to internal Vec<(usize, usize)> representation
o don't allow--test-plan
together with--users
,--startup-time
,--hatch-rate
,--run-time
,--no-reset-metrics
,--manager
and--worker
o internalAttackPhase
s renamed:Starting
->Increase
,Running
->Maintain
,Stopping
->Decrease
- #449 API change: rename
GooseTaskSet
->Scenario
,GooseTask
->Transaction
,GooseTaskResult
->TransationResult
,GooseTaskEror
->TransactionError
,WeightedGooseTasks
->WeightedTransactions
,GooseTaskFunction
->TransactionFunction
,test_start_task
->test_start_transaction
,test_stop_task
->test_stop_transaction
,register_task
->register_transaction
,task!
->transaction!
,--no-task-metrics
->--no-transaction-metrics
,GooseTaskError
->TransactionError
- #450 add support for variable speed and multiple decrease AttackPhases
- #452 API change: rename
--status-codes
to--no-status-codes
and enable collecation and summary of status codes by default
v0.15.2
0.15.2 December 13, 2021
- #391 properly sleep for configured
set_wait_time()
walking regularly to exit quickly if the load test ends - #394 add additional graphs to the HTML report: errors per second, average response time, active users, active tasks
- #403 wake up a couple times a second to handle message and allow for a quick shutdown if the load test is canceled during startup
v0.15.1
0.15.1 November 19, 2021
- #374 renamed
simple-with-session.rs
tosession.rs
andsimple-closure.rs
toclosure.rs
to avoid confusion with thesimple.rs
example as they all do different things - #385 properly configure
--running-metrics VALUE
when set manually - #382 set client timeout to 60 seconds by default, used for all requests made; introduce
--timeout VALUE
where VALUE is seconds as integer or a float; timeout can be configured programatically usingGooseDefault::Timeout
- #381 display requests per second graph on the HTML report