in src/metrics/mod.rs [91:118]
fn absolute_counter() {
let metrics = Metrics::new();
metrics.register(&TestStat::Alpha);
let start = Instant::<Nanoseconds<u64>>::now();
assert!(metrics.reading(&TestStat::Alpha).is_err());
metrics.record_counter(&TestStat::Alpha, start, 0).unwrap();
assert_eq!(metrics.reading(&TestStat::Alpha), Ok(0));
metrics
.record_counter(
&TestStat::Alpha,
start + Duration::from_millis(1000),
1000000,
)
.unwrap();
assert_eq!(metrics.reading(&TestStat::Alpha), Ok(1000000));
assert_eq!(metrics.percentile(&TestStat::Alpha, 99.9), Ok(1000000));
metrics
.record_counter(
&TestStat::Alpha,
start + Duration::from_millis(2000),
3000000,
)
.unwrap();
assert_eq!(metrics.reading(&TestStat::Alpha), Ok(3000000));
assert_eq!(metrics.percentile(&TestStat::Alpha, 99.9), Ok(2000000));
metrics.record_counter(&TestStat::Alpha, start, 42).unwrap();
assert_ne!(metrics.reading(&TestStat::Alpha), Ok(42));
}