Enum Report

Source
pub enum Report {
    Start,
    QueryCompletedIn(Duration),
    QueryErrored {
        completed_in: Duration,
        message: String,
    },
    ProduceCompletedIn(Duration),
    ProduceErrored {
        completed_in: Duration,
        message: String,
    },
    ConsumeCompletedIn(Option<Duration>),
    ConsumeErrored {
        message: String,
    },
    SecondPassed(Duration),
    FinishedIn(Duration),
    AddInfoMessage(String),
    ExternalBenchmark(Box<ExternalReport>),
}
Expand description

An individual measurement reported to windsock.

These will be collected, analyzed and then turned into a ReportArchive at the conclusion of the bench run.

Variants§

§

Start

Indicates the warmup is over and the benchmark has begun. Any Completed/Errored Events received before this are considered warmups and discarded.

§

QueryCompletedIn(Duration)

Indicates a response came back from the service. The Duration should be the time between the request being sent and the response being received

§

QueryErrored

Indicates an an error response came back from the service.

Fields

§completed_in: Duration

The time between the request being sent and the response being received

§message: String

The error message received from the service or the local error that occured while trying to communicate with the service.

§

ProduceCompletedIn(Duration)

Indicates a pubsub produce ack came back from the service. The Duration should be the time between the request being sent and the response being received

§

ProduceErrored

Indicates a pubsub produce error response came back from the service.

Fields

§completed_in: Duration
§message: String
§

ConsumeCompletedIn(Option<Duration>)

Indicates a pubsub consume response came back from the service. The Duration should be the time between the initial produce request being created on a client and the response being consumed on a client. It is suggested that a timestamp be encoded in the payload of the produce to achieve this.

For payload sizes where a timestamp can not fit set the Duration to None. However: Do not mix None and Some results in a single bench run.

§

ConsumeErrored

Indicates pubsub consume error response came back from the service.

Fields

§message: String
§

SecondPassed(Duration)

Indicates a second has passed for the benchmarker

§

FinishedIn(Duration)

Contains the time that the test ran for

§

AddInfoMessage(String)

Adds a note that will be visible to the user when viewing the benchmark results.

§

ExternalBenchmark(Box<ExternalReport>)

Ignore all other reports and use the ManualReport as the only source of benchmark metrics. Do not use this under normal circumstances. Instead this should only be used if you have an independent benchmarker that you want to call from windsock and include in windsocks results.

Trait Implementations§

Source§

impl Debug for Report

Source§

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

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

impl<'de> Deserialize<'de> for Report

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 Report

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§

§

impl Freeze for Report

§

impl RefUnwindSafe for Report

§

impl Send for Report

§

impl Sync for Report

§

impl Unpin for Report

§

impl UnwindSafe for Report

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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

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