pub struct LoadTestConfig {Show 18 fields
pub target_host: String,
pub target_port: u16,
pub protocol: Protocol,
pub scenario: ScenarioType,
pub duration_secs: u64,
pub concurrency: usize,
pub message_rate: u64,
pub ramp_up_secs: u64,
pub message_size: MessageSize,
pub message_content: MessageContent,
pub message_size_min: Option<usize>,
pub message_size_max: Option<usize>,
pub output_json: Option<String>,
pub output_html: Option<String>,
pub output_csv: Option<String>,
pub prometheus_export: bool,
pub prometheus_port: u16,
pub mixed_weights: Option<(u8, u8, u8, u8)>,
}Expand description
Load test configuration
Fields§
§target_host: StringTarget host to test
target_port: u16Target port
protocol: ProtocolProtocol to test
scenario: ScenarioTypeTest scenario to run
duration_secs: u64Test duration in seconds
concurrency: usizeNumber of concurrent workers
message_rate: u64Target message rate (messages per second)
ramp_up_secs: u64Ramp-up duration in seconds (gradual increase to target rate)
message_size: MessageSizeMessage size configuration
message_content: MessageContentMessage content type
message_size_min: Option<usize>Minimum message size in bytes (deprecated, use message_size)
message_size_max: Option<usize>Maximum message size in bytes (deprecated, use message_size)
output_json: Option<String>Output file for JSON report
output_html: Option<String>Output file for HTML report
output_csv: Option<String>Output file for CSV report
prometheus_export: boolEnable Prometheus metrics export
prometheus_port: u16Prometheus export port
mixed_weights: Option<(u8, u8, u8, u8)>Mixed protocol weights (SMTP, IMAP, JMAP, POP3)
Implementations§
Source§impl LoadTestConfig
impl LoadTestConfig
Sourcepub fn ramp_up_duration(&self) -> Duration
pub fn ramp_up_duration(&self) -> Duration
Get ramp-up duration
Sourcepub fn test_duration(&self) -> Duration
pub fn test_duration(&self) -> Duration
Get test duration
Sourcepub fn message_size_range(&self) -> (usize, usize)
pub fn message_size_range(&self) -> (usize, usize)
Get message size range
Trait Implementations§
Source§impl Clone for LoadTestConfig
impl Clone for LoadTestConfig
Source§fn clone(&self) -> LoadTestConfig
fn clone(&self) -> LoadTestConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LoadTestConfig
impl Debug for LoadTestConfig
Source§impl Default for LoadTestConfig
impl Default for LoadTestConfig
Source§impl<'de> Deserialize<'de> for LoadTestConfig
impl<'de> Deserialize<'de> for LoadTestConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for LoadTestConfig
impl RefUnwindSafe for LoadTestConfig
impl Send for LoadTestConfig
impl Sync for LoadTestConfig
impl Unpin for LoadTestConfig
impl UnsafeUnpin for LoadTestConfig
impl UnwindSafe for LoadTestConfig
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
Mutably borrows from an owned value. Read more