Expand description
Shared DogStatsD load-driver engine.
The engine fetches a working set of contexts from the shared intake pool, then a producer thread renders per-occurrence values against them into a bounded channel while a consumer thread fans each datagram 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.
Structs§
- Stats
- What a driver run shipped, for anchoring assertions.
Functions§
- connect_
with_ retry - Wait for the remote process to bind
path, intentionally naive. ReturnsNoneif the socket is still unavailable after 30 seconds. - run
- Pull
context_countcontexts from the intake pool atintake_addronce, then drivecountdatagrams to every socket from that one pull, each datagram a fresh per-occurrence render of every context that fits underlimit_bytes, blocking through transient backpressure so every datagram reaches every socket.context_count,count, andlimit_bytescome from a load generator’scrate::config::DriverConfig, so a datagram never truncates on receive.