dipstick/examples/bucket_cleanup.rs

30 lines
591 B
Rust
Raw Normal View History

2018-06-26 19:51:49 +00:00
//! Transient metrics are not retained by buckets after flushing.
2018-06-21 15:52:10 +00:00
extern crate dipstick;
use dipstick::*;
2018-06-26 19:51:49 +00:00
use std::thread::sleep;
2019-04-09 11:55:15 +00:00
use std::time::Duration;
2018-06-26 19:51:49 +00:00
2018-06-21 15:52:10 +00:00
fn main() {
2018-10-26 01:20:47 +00:00
let bucket = AtomicBucket::new();
AtomicBucket::default_drain(Stream::to_stdout());
2018-06-26 19:51:49 +00:00
let persistent_marker = bucket.marker("persistent");
2018-06-21 15:52:10 +00:00
2018-06-26 19:51:49 +00:00
let mut i = 0;
2018-06-21 15:52:10 +00:00
loop {
2018-06-26 19:51:49 +00:00
i += 1;
let transient_marker = bucket.marker(&format!("marker_{}", i));
2018-06-21 15:52:10 +00:00
2018-06-26 19:51:49 +00:00
transient_marker.mark();
persistent_marker.mark();
2018-06-21 15:52:10 +00:00
2018-06-26 19:51:49 +00:00
bucket.flush().unwrap();
2018-06-21 15:52:10 +00:00
2018-06-26 19:51:49 +00:00
sleep(Duration::from_secs(1));
2018-06-21 15:52:10 +00:00
}
}