pub struct WorkloadRunner { /* private fields */ }
Expand description

Keeps track of the currenlty running workloads.

The WorkloadRunner enables running different workloads, against different targets at different rates without needing to set up multiple runners.

Implementations§

source§

impl WorkloadRunner

source

pub fn add_workload( &mut self, id: String, workload: Box<dyn BatchWorkload>, targets: Vec<String>, time_to_wait: Duration, auth: String, get_batch_status: bool, duration: Option<Duration>, request_counter: Arc<HttpRequestCounter> ) -> Result<(), WorkloadRunnerError>

Starts running a new workload

Arguments
  • id - A unique ID for the workload
  • workload - The BatchWorkload used to generate the batches that will be submitted
  • targets - A list of URL for submitting the batches. The URL provided must be the full URL before adding /batches for submission
  • time_to_wait- The amount of time to wait between batch submissions
  • auth - The string to be set in the Authorization header for the request
  • get_batch_status - Determines if the workload should compare the result of a batch after it is submitted to the expected result
  • duration - The amount of time the workload should run for
  • request_counter - Tracks the submitted requests for logging

Returns an error if a workload with that ID is already running or if the workload thread could not be started

source

pub fn remove_workload(&mut self, id: &str) -> Result<(), WorkloadRunnerError>

Stops running a workload

Arguments
  • id - A unique ID for the workload that should be stopped

Returns an error if a workload with that ID does not exist or if the workload cannot be cleanly shutdown

source

pub fn shutdown_signaler(&self) -> WorkerShutdownSignaler

Return a WorkerShutdownSignaler, used to send a shutdown signal to the Worker threads.

source

pub fn wait_for_shutdown(self) -> Result<(), WorkloadRunnerError>

Block until the threads have shutdown.

Trait Implementations§

source§

impl Default for WorkloadRunner

source§

fn default() -> WorkloadRunner

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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.

§

impl<T> Instrument for T

§

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

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

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 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> IntoSql for T

source§

fn into_sql<T>(self) -> Self::Expression
where Self: AsExpression<T> + Sized,

Convert self to an expression for Diesel’s query builder. Read more
source§

fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression

Convert &self to an expression for Diesel’s query builder. Read more
§

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

§

fn borrow_replacement(ptr: &T) -> &T

Given ptr, which was obtained from a prior call to Self::borrow(), return a value with the same nominal lifetime which is guaranteed to survive mutations to Self. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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