pub struct RpmConfigOpts {
pub moving_average_distance: usize,
pub std_tolerance: f64,
pub trimmed_mean_percent: f64,
pub max_loaded_connections: usize,
pub interval_duration_ms: Duration,
pub test_duration_ms: Duration,
pub conn_type: ConnectionType,
pub upload_bytes_per_request: usize,
}Fields§
§moving_average_distance: usizeThe number of intervals to use when calculating the moving average.
std_tolerance: f64How far a measurement is allowed to be from the previous moving average before the measurement is considered unstable.
trimmed_mean_percent: f64Determines which percentile to use for averaging when calculating the
trimmed mean of throughputs or RPM scores. A value of 0.95 means to
only use values in the 95th percentile to calculate an average.
max_loaded_connections: usizeThe maximum number of loaded connections that the test can use to saturate the network.
interval_duration_ms: DurationThe duration between test intervals.
test_duration_ms: DurationThe overall test duration.
conn_type: ConnectionTypeCreate an HTTP/1.1, HTTP/2, or HTTP/3 connection.
upload_bytes_per_request: usizeMaximum bytes sent in any single upload load-generating request.
Upload load is generated as a sequence of requests of this size on each connection, rather than one enormous request, because servers may cap request body size and reject anything larger with HTTP 413. Such caps apply per-request, so staying under one here keeps the link loaded indefinitely without ever tripping it.
Must be below the smallest such cap on the path, with margin. It has no effect on connections too slow to send this many bytes within the test duration, since their first request never completes either way.
Trait Implementations§
Source§impl Debug for RpmConfigOpts
impl Debug for RpmConfigOpts
Source§impl Default for RpmConfigOpts
impl Default for RpmConfigOpts
Source§fn default() -> Self
fn default() -> Self
Return RpmConfigOpts { moving_average_distance: 4, std_tolerance: 0.05, trimmed_mean_percent: 0.95, max_loaded_connections: 16, interval_duration_ms: Duration::from_millis(500), test_duration_ms: Duration::from_millis(12_000), conn_type: ConnectionType::H2, upload_bytes_per_request: 100_000_000 }
Source§impl<'de> Deserialize<'de> for RpmConfigOptswhere
RpmConfigOpts: Default,
impl<'de> Deserialize<'de> for RpmConfigOptswhere
RpmConfigOpts: Default,
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>,
Auto Trait Implementations§
impl Freeze for RpmConfigOpts
impl RefUnwindSafe for RpmConfigOpts
impl Send for RpmConfigOpts
impl Sync for RpmConfigOpts
impl Unpin for RpmConfigOpts
impl UnsafeUnpin for RpmConfigOpts
impl UnwindSafe for RpmConfigOpts
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more