Struct goose::metrics::GooseRequestMetricAggregate
source · 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
).
GooseRequestMetric
s 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§
source§impl Clone for GooseRequestMetricAggregate
impl Clone for GooseRequestMetricAggregate
source§fn clone(&self) -> GooseRequestMetricAggregate
fn clone(&self) -> GooseRequestMetricAggregate
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GooseRequestMetricAggregate
impl Debug for GooseRequestMetricAggregate
source§impl<'de> Deserialize<'de> for GooseRequestMetricAggregate
impl<'de> Deserialize<'de> for GooseRequestMetricAggregate
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Ord for GooseRequestMetricAggregate
impl Ord for GooseRequestMetricAggregate
Implement ordering for GooseRequestMetricAggregate.
source§impl PartialEq<GooseRequestMetricAggregate> for GooseRequestMetricAggregate
impl PartialEq<GooseRequestMetricAggregate> for GooseRequestMetricAggregate
source§fn eq(&self, other: &GooseRequestMetricAggregate) -> bool
fn eq(&self, other: &GooseRequestMetricAggregate) -> bool
source§impl PartialOrd<GooseRequestMetricAggregate> for GooseRequestMetricAggregate
impl PartialOrd<GooseRequestMetricAggregate> for GooseRequestMetricAggregate
Implement partial-ordering for GooseRequestMetricAggregate.
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moreimpl Eq for GooseRequestMetricAggregate
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.
impl StructuralPartialEq for GooseRequestMetricAggregate
Auto Trait Implementations§
impl RefUnwindSafe for GooseRequestMetricAggregate
impl Send for GooseRequestMetricAggregate
impl Sync for GooseRequestMetricAggregate
impl Unpin for GooseRequestMetricAggregate
impl UnwindSafe for GooseRequestMetricAggregate
Blanket Implementations§
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 moresource§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read moresource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresource§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.