Struct goose::metrics::GooseRequestMetricTimingData
source · pub struct GooseRequestMetricTimingData {
pub times: BTreeMap<usize, usize>,
pub minimum_time: usize,
pub maximum_time: usize,
pub total_time: usize,
pub counter: usize,
}
Expand description
Collects per-request timing metrics.
Fields§
§times: BTreeMap<usize, usize>
Per-response-time counters, tracking how often pages are returned with this response time.
All response times between 1 and 100ms are stored without any rounding. Response times between 100 and 500ms are rounded to the nearest 10ms and then stored. Response times betwee 500 and 1000ms are rounded to the nearest 100ms. Response times larger than 1000ms are rounded to the nearest 1000ms.
minimum_time: usize
The shortest response time seen so far.
For example a min_response_time
of 3
means the quickest response for this method-path
pair returned in 3 milliseconds. This value is not rounded.
maximum_time: usize
The longest response time seen so far.
For example a max_response_time
of 2013
means the slowest response for this method-path
pair returned in 2013 milliseconds. This value is not rounded.
total_time: usize
Total combined response times seen so far.
A running total of all response times returned for this method-path pair.
counter: usize
Total number of response times seen so far.
A count of how many requests have been tracked for this method-path pair.
Trait Implementations§
source§impl Clone for GooseRequestMetricTimingData
impl Clone for GooseRequestMetricTimingData
source§fn clone(&self) -> GooseRequestMetricTimingData
fn clone(&self) -> GooseRequestMetricTimingData
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GooseRequestMetricTimingData
impl Debug for GooseRequestMetricTimingData
source§impl<'de> Deserialize<'de> for GooseRequestMetricTimingData
impl<'de> Deserialize<'de> for GooseRequestMetricTimingData
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 PartialEq<GooseRequestMetricTimingData> for GooseRequestMetricTimingData
impl PartialEq<GooseRequestMetricTimingData> for GooseRequestMetricTimingData
source§fn eq(&self, other: &GooseRequestMetricTimingData) -> bool
fn eq(&self, other: &GooseRequestMetricTimingData) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for GooseRequestMetricTimingData
impl StructuralEq for GooseRequestMetricTimingData
impl StructuralPartialEq for GooseRequestMetricTimingData
Auto Trait Implementations§
impl RefUnwindSafe for GooseRequestMetricTimingData
impl Send for GooseRequestMetricTimingData
impl Sync for GooseRequestMetricTimingData
impl Unpin for GooseRequestMetricTimingData
impl UnwindSafe for GooseRequestMetricTimingData
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, 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
.source§fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§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.source§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.source§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.