distribution

Macro distribution 

Source
macro_rules! distribution {
    ($name:literal @s : $value:expr $(, $tag:literal => $tv:expr)* $(,)?) => { ... };
    ($name:literal @b : $value:expr $(, $tag:literal => $tv:expr)* $(,)?) => { ... };
    ($name:literal : $value:expr $(, $tag:literal => $tv:expr)* $(,)?) => { ... };
}
Expand description

Emits a distribution (histogram) metric.

ยงSyntax

use std::time::Duration;
use objectstore_metrics::distribution;

distribution!("name": 1.0_f64);
distribution!("name"@s: Duration::from_secs(1));
distribution!("name"@b: 1024_u64);
distribution!("name"@s: Duration::from_secs(1), "tag" => "value");
  • @s converts a Duration to seconds via .as_secs_f64().
  • @b converts the value via as f64 (identity for byte counts).
  • No annotation converts via as f64.