pub struct GooseRequestMetricAggregate {
    pub path: String,
    pub method: GooseMethod,
    pub raw_data: GooseRequestMetricTimingData,
    pub coordinated_omission_data: Option<GooseRequestMetricTimingData>,
    pub status_code_counts: HashMap<u16, usize>,
    pub success_count: usize,
    pub fail_count: usize,
    pub load_test_hash: u64,
}
Expand description

Metrics collected about a method-path pair, (for example GET /index).

GooseRequestMetrics are sent by GooseUser threads to the Goose parent process where they are aggregated together into this structure, and stored in GooseMetrics::requests.

Fields§

§path: String

The request path for which metrics are being collected.

For example: “/”.

§method: GooseMethod

The method for which metrics are being collected.

For example: GooseMethod::Get.

§raw_data: GooseRequestMetricTimingData

The raw data seen from actual requests.

§coordinated_omission_data: Option<GooseRequestMetricTimingData>

Combines the raw data with statistically generated Coordinated Omission Metrics.

§status_code_counts: HashMap<u16, usize>

Per-status-code counters, tracking how often each response code was returned for this request.

§success_count: usize

Total number of times this path-method request resulted in a successful (2xx) status code.

A count of how many requests resulted in a 2xx status code.

§fail_count: usize

Total number of times this path-method request resulted in a non-successful (non-2xx) status code.

A count of how many requests resulted in a non-2xx status code.

§load_test_hash: u64

Load test hash.

The hash is primarily used when running a distributed Gaggle, allowing the Manager to confirm that all Workers are running the same load test plan.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more

Implement ordering for GooseRequestMetricAggregate.

This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Implement partial-ordering for GooseRequestMetricAggregate.

This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Serialize this value into the given Serde serializer. Read more

Implement equality for GooseRequestMetricAggregate. We can’t simply derive since we have floats in the struct.

Eq trait has no functions on it - it is there only to inform the compiler that this is an equivalence rather than a partial equivalence.

See https://doc.rust-lang.org/std/cmp/trait.Eq.html for more information.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more