Module driver

Module driver 

Source
Expand description

Shared DogStatsD load-driver engine.

A producer thread samples lines into a bounded channel; a consumer thread fans each line out to every socket and tallies per-socket sends. Drivers differ only in how many sockets they target and which anchors they fire, so both the single-socket and differential drivers run on this one engine.

NOTE: this driver intentionally blocks on backpressure from the SUT. Retry and backoff timers are meant to endure transient errors.

Re-exports§

pub use crate::payload::dogstatsd::Batch;

Structs§

Stats
What a driver run shipped, for anchoring assertions.

Functions§

connect_with_retry
Wait for the remote process to bind path, intentionally naive. Returns None if the socket is still unavailable after 30 seconds.
run
Drive count sampled DogStatsD datagrams to every socket, packing each to at most limit_bytes and blocking through transient backpressure so every datagram reaches every socket. Both count and limit_bytes come from a load generator’s crate::config::DriverConfig, so a datagram never truncates on receive.
sample
Sample a line composition: half clean, a quarter feral, a quarter mixed.