22 个版本 (7 个重大更改)

0.7.0 2024年6月12日
0.5.1 2024年1月18日
0.3.3 2023年10月25日
0.2.1 2023年7月26日
0.1.3 2023年3月24日

#40 in 值格式化

Download history 320/week @ 2024-05-05 189/week @ 2024-05-12 400/week @ 2024-05-19 364/week @ 2024-05-26 391/week @ 2024-06-02 1522/week @ 2024-06-09 228/week @ 2024-06-16 436/week @ 2024-06-23 504/week @ 2024-06-30 161/week @ 2024-07-07 63/week @ 2024-07-14 355/week @ 2024-07-21 616/week @ 2024-07-28 454/week @ 2024-08-04 455/week @ 2024-08-11 285/week @ 2024-08-18

1,811 每月下载量
4 crate 中使用

Apache-2.0

110KB
2K SLoC

metriken

轻松注册分布式指标。

metriken 允许您轻松地在整个代码库中声明静态指标。然后,当您想要公开这些指标时,您可以在一个地方访问它们。

use metriken::{metric, Counter, Gauge, Value};

/// A counter metric named "<crate name>::COUNTER"
#[metric]
static COUNTER: Counter = Counter::new();

/// A gauge metric named "my.metric"
#[metric(name = "my.metric")]
static GAUGE: Gauge = Gauge::new();

fn main() {
    COUNTER.increment();

    for metric in &metriken::metrics() {
        let name = metric.name();

        match metric.value() {
            Some(Value::Counter(val)) => println!("{name}: {val}"),
            Some(Value::Gauge(val)) => println!("{name}: {val}"),
            _ => println!("{name}: <custom>")
        }
    }
}

更新指标的代码始终可以访问它们,无需经过任何间接操作。(这只是访问静态数据!)使用 linkme,所有指标都被收集到一个全局数组中,然后可以使用它来读取所有指标并公开它们。

依赖项

~2.2–8MB
~61K SLoC