Skip to content

Commit

Permalink
Merge pull request #313 from jeremyandrews/r0.12.0
Browse files Browse the repository at this point in the history
release v0.12.0
  • Loading branch information
jeremyandrews authored Jul 8, 2021
2 parents 025a7bb + 83c6377 commit 43f6c82
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 11 deletions.
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Changelog

## 0.12.0-dev
## 0.12.0
- remove internal-only functions and structures from documentation, exposing only what's useful to consumers of the Goose library (API change)
o `goose::initialize_logger()`, `Socket` reduced to `pub(crate)` scope
o `goose::controller::GooseControllerProtocol`, `GooseControllerRequestMessage`, `GooseControllerResponseMessage`, `GooseControllerRequest`, `GooseControllerResponse`, `GooseControllerState`, `::controller_main()` reduced to `pub(crate)` scope
Expand All @@ -26,8 +26,8 @@
o `goose::record_error()` changed to `goose::metrics::record_error()` and reduced to `pub(crate)` scope
- expose utility functions used by Goose for use by load tests
o `goose::util::parse_timespan()`, `::gcd()`, `::median()`, `::truncate_string()`, `::timer_expired()`, `::ms_timer_expired()`, `::get_hatch_rate()`, and `::is_valid_host()` were elevated to `pub` scope
- introduce (enabled by default) Coordinated Omission Mitigation, configured through `--co-mitigation` with the following options: "disabled" (earlier default, pre-0.12.0), "average" (current default), "minimum", "maximum"; (or with `GooseDefault::CoordinatedOmissionMitigation`)
- Coordinated Omission Mitigation tracks the cadence that a GooseUser loops through all GooseTasks, (also accounting for time spent sleeping due to `.set_wait_time()`); it detects stalls (network or upstream server) that block and prevent other requests from running, and backfills the metrics to mitigate this loss of data ([based on the general implementation found in HdrHistogram](https://github.com/HdrHistogram/HdrHistogram_rust/blob/9c09314ac91848fd696b699892414cb337d9abce/src/lib.rs#L916)
- introduce (disabled by default) Coordinated Omission Mitigation, configured through `--co-mitigation` with the following options: "disabled" (default0), "average", "minimum", "maximum"; (or with `GooseDefault::CoordinatedOmissionMitigation`)
- (EXPERIMENTAL) Coordinated Omission Mitigation tracks the cadence that a GooseUser loops through all GooseTasks, (also accounting for time spent sleeping due to `.set_wait_time()`); it detects stalls (network or upstream server) that block and prevent other requests from running, and backfills the metrics to mitigate this loss of data ([based on the general implementation found in HdrHistogram](https://github.com/HdrHistogram/HdrHistogram_rust/blob/9c09314ac91848fd696b699892414cb337d9abce/src/lib.rs#L916)
- When displaying metrics (via the cli and the html report) show both "raw" (actual) metrics and "coordinated omission mitigation" (back-filled with statistically generated) metrics, and the standard deviation between the average times for each
- introduce `GooseLog` enum for sending `GooseDebug`, `GooseRequestMetric` and `GooseTaskMetric` objects to the Logger thread for logging to file
- introduce `--tasks-file` run-time option for logging `GooseTaskMetric`s to file
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "goose"
version = "0.12.0-dev"
version = "0.12.0"
authors = ["Jeremy Andrews <[email protected]>"]
edition = "2018"
description = "A load testing framework inspired by Locust."
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,17 @@ This creates a new directory named `loadtest/` containing `loadtest/Cargo.toml`

```toml
[dependencies]
goose = "^0.11"
goose = "^0.12"
```

At this point it's possible to compile all dependencies, though the resulting binary only displays "Hello, world!":

```
$ cargo run
Updating crates.io index
Downloaded goose v0.11.2
Downloaded goose v0.12.0
...
Compiling goose v0.11.2
Compiling goose v0.12.0
Compiling loadtest v0.1.0 (/home/jandrews/devel/rust/loadtest)
Finished dev [unoptimized + debuginfo] target(s) in 52.97s
Running `target/debug/loadtest`
Expand Down Expand Up @@ -536,7 +536,7 @@ Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
goose> ?
goose 0.11.2 controller commands:
goose 0.12.0 controller commands:
help (?) this help
exit (quit) exit controller
start start an idle load test
Expand Down Expand Up @@ -849,7 +849,7 @@ When writing load test applications, you can default to compiling in the Gaggle
```toml
[dependencies]
goose = { version = "^0.11", features = ["gaggle"] }
goose = { version = "^0.12", features = ["gaggle"] }
```
### Gaggle Manager
Expand Down Expand Up @@ -909,5 +909,5 @@ By default Reqwest (and therefore Goose) uses the system-native transport layer
```toml
[dependencies]
goose = { version = "^0.11", default-features = false, features = ["rustls"] }
goose = { version = "^0.12", default-features = false, features = ["rustls"] }
```
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
//!
//! ```toml
//! [dependencies]
//! goose = "0.11"
//! goose = "0.12"
//! ```
//!
//! Add the following boilerplate `use` declaration at the top of your `src/main.rs`:
Expand Down

0 comments on commit 43f6c82

Please sign in to comment.