#metrics #prometheus #compatibility #install #collector #counter

metrics-prometheus-client

Creating compatibility between metrics and prometheus_client

1 unstable release

0.0.1 Jul 21, 2024

#50 in #collector

MIT/Apache

13KB
246 lines

metrics-prometheus-client

Creating compatibility between metrics and prometheus_client.

Usage

use metrics_prometheus_client::install;
use prometheus_client::{encoding::text::encode, registry::Registry};

let collector = install();

// Use `metrics` crate interfaces.
metrics::counter!("count", "whose" => "mine", "kind" => "owned").increment(1);

let mut registry = Registry::default();
registry.register_collector(Box::new(collector));

let mut report = String::new();
encode(&mut report, &registry).unwrap();

assert_eq!(
    report.trim(),
    "# HELP count \n# TYPE count counter\ncount_total{whose=\"mine\",kind=\"owned\"} 1\n# EOF"
        .trim(),
);

Dependencies

~1.6–7MB
~46K SLoC