pub struct GooseRequestMetric {
Show 17 fields pub elapsed: u64, pub scenario_index: usize, pub scenario_name: String, pub transaction_index: String, pub transaction_name: String, pub raw: GooseRawRequest, pub name: String, pub final_url: String, pub redirected: bool, pub response_time: u64, pub status_code: u16, pub success: bool, pub update: bool, pub user: usize, pub error: String, pub coordinated_omission_elapsed: u64, pub user_cadence: u64,
}
Expand description

How many milliseconds the load test has been running. For tracking and counting requests made during a load test.

The request that Goose is making. User threads send this data to the parent thread when metrics are enabled. This request object must be provided to calls to set_success or set_failure so Goose knows which request is being updated.

Fields§

§elapsed: u64

How many milliseconds the load test has been running.

§scenario_index: usize

An index into GooseAttack.scenarios, indicating which scenario this is.

§scenario_name: String

The scenario name.

§transaction_index: String

An optional index into Scenario.transaction, indicating which transaction this is. Stored as string, "" is no transaction, while 0 is the first Scenario.transaction.

§transaction_name: String

The optional transaction name.

§raw: GooseRawRequest

The raw request that the GooseClient made.

§name: String

The optional name of the request.

§final_url: String

The final full URL that was requested, after redirects.

§redirected: bool

Whether or not the request was redirected.

§response_time: u64

How many milliseconds the request took.

§status_code: u16

The HTTP response code (optional).

§success: bool

Whether or not the request was successful.

§update: bool

Whether or not we’re updating a previous request, modifies how the parent thread records it.

§user: usize

Which GooseUser thread processed the request.

§error: String

The optional error caused by this request.

§coordinated_omission_elapsed: u64

If non-zero, Coordinated Omission Mitigation detected an abnormally long response time on the upstream server, blocking requests from being made.

§user_cadence: u64

If non-zero, the calculated cadence of looping through all Transactions by this GooseUser thread.

Trait Implementations§

source§

impl Clone for GooseRequestMetric

source§

fn clone(&self) -> GooseRequestMetric

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GooseRequestMetric

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for GooseRequestMetric

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for GooseRequestMetric

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast for Twhere T: Any,

source§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

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.
source§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,

source§

impl<T> GooseUserData for Twhere T: Send + Sync + 'static,