Struct tic::Config
[−]
[src]
pub struct Config<T> { pub duration: usize, pub windows: usize, pub capacity: usize, pub batch_size: usize, pub service_mode: bool, pub poll_delay: Option<Duration>, pub http_listen: Option<String>, pub trace_file: Option<String>, pub waterfall_file: Option<String>, pub heatmap_config: Config, pub histogram_config: Config, // some fields omitted }
a configuration struct for customizing Receiver
Fields
duration: usize
duration of a sampling interval (window) in seconds typical values are 1 or 60 for secondly or minutely reporting
windows: usize
the number of sampling intervals (windows) to aggregate in heatmap and traces. NOTE: The receiver will halt if service_mode is false and the total number of windows have elapsed
capacity: usize
the capacity of the stats queue. Default: 256
batch_size: usize
the default batch size of a Sender
. Default: 512
service_mode: bool
set continuous-run mode. heatmaps and traces will generate
every N windows when this is set to true. If it is set to false,
the Receiver
will halt after N windows
poll_delay: Option<Duration>
set an optional delay between calls to poll
http_listen: Option<String>
enable the HTTP stats export on the given address
trace_file: Option<String>
save a latency heatmap trace to the given file
waterfall_file: Option<String>
save a waterfal png of the latency heatmap to the given file
heatmap_config: Config
the shared Heatmap
configuration
histogram_config: Config
the shared Histogram
configuration
Methods
impl<T: Hash + Eq + Send + Display + Clone> Config<T>
[src]
fn new() -> Config<T>
[src]
fn duration(self, duration: usize) -> Self
[src]
set integration window in seconds: default 60
Example
let mut c = Receiver::<usize>::configure(); c.duration(60); // set to 60 second integration window
fn windows(self, windows: usize) -> Self
[src]
set number of windows to collect: default 60
Example
let mut c = Receiver::<usize>::configure(); c.windows(60); // collect for 60 x duration and terminate
fn capacity(self, capacity: usize) -> Self
[src]
set capacity of the queue: default 256
Example
let mut c = Receiver::<usize>::configure(); c.capacity(256); // buffer for 256 batches of samples
fn batch_size(self, batch_size: usize) -> Self
[src]
set batch size of the sender: default 512
Example
let mut c = Receiver::<usize>::configure(); c.batch_size(512); // batch 512 samples in one queue write
fn http_listen(self, address: String) -> Self
[src]
set the http lister address
Example
let mut c = Receiver::<usize>::configure(); c.http_listen("0.0.0.0:42024".to_owned()); // listen on port 42024 on all interfaces
fn trace_file(self, path: String) -> Self
[src]
set the heatmap trace file
Example
let mut c = Receiver::<usize>::configure(); c.trace_file("/tmp/heatmap.trace".to_owned()); // heatmap trace will write here
fn waterfall_file(self, path: String) -> Self
[src]
set the heatmap trace file
Example
let mut c = Receiver::<usize>::configure(); c.waterfall_file("/tmp/waterfall.png".to_owned()); // waterfall png will render here
fn poll_delay(self, delay: Option<Duration>) -> Self
[src]
set the poll delay
Example
let mut c = Receiver::<usize>::configure(); c.poll_delay(Some(Duration::new(0, 100_000)));
fn service(self, enabled: bool) -> Self
[src]
set receiver to continuous run mode aka service mode
Example
let mut c = Receiver::<usize>::configure(); c.service(true);
fn build(self) -> Receiver<T>
[src]
Build a new Receiver based on the current configuration
Trait Implementations
impl<T: Clone> Clone for Config<T>
[src]
fn clone(&self) -> Config<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more