#prometheus-metrics #metrics #prometheus

prometrics

Client library for exposing prometheus metrics

14 releases

Uses old Rust 2015

0.1.13 Apr 18, 2020
0.1.12 Aug 18, 2019
0.1.11 Apr 30, 2018
0.1.10 Mar 23, 2018
0.1.2 Oct 22, 2017

#49 in #prometheus-metrics

Download history 75/week @ 2024-07-22 124/week @ 2024-07-29 102/week @ 2024-08-05 106/week @ 2024-08-12 73/week @ 2024-08-19 195/week @ 2024-08-26 54/week @ 2024-09-02 56/week @ 2024-09-09 67/week @ 2024-09-16 143/week @ 2024-09-23 46/week @ 2024-09-30 27/week @ 2024-10-07 86/week @ 2024-10-14 58/week @ 2024-10-21 61/week @ 2024-10-28 71/week @ 2024-11-04

281 downloads per month
Used in 25 crates (14 directly)

MIT license

100KB
2.5K SLoC

prometrics

Documentation Build Status Code Coverage License: MIT

Rust client library for exposing prometheus metrics.

Documentation

Examples

use prometrics::default_gatherer;
use prometrics::metrics::{CounterBuilder, GaugeBuilder};

let counter = CounterBuilder::new("count")
    .default_registry()
    .finish()
    .unwrap();
let gauge = GaugeBuilder::new("gauge")
    .label("foo", "bar")
    .default_registry()
    .finish()
    .unwrap();

 counter.increment();
 gauge.set(12.3);

 let metrics = default_gatherer().lock().unwrap().gather();
 assert_eq!(
    metrics.to_text(),
    format!("{}\n{}\n{}\n{}\n",
            "# TYPE count counter",
            "count 1",
            "# TYPE gauge gauge",
            "gauge{foo=\"bar\"} 12.3"));

Benchmark

$ uname -a
Linux DESKTOP 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

$ lscpu | grep 'Model name:'
Model name:            Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz

$ cargo +nightly bench
test counter_add_float       ... bench:          10 ns/iter (+/- 0)
test counter_add_round_float ... bench:           4 ns/iter (+/- 0)
test counter_add_u64         ... bench:           4 ns/iter (+/- 0)
test counter_increment       ... bench:           4 ns/iter (+/- 0)
test gauge_set               ... bench:           4 ns/iter (+/- 0)
test histogram_observe       ... bench:          18 ns/iter (+/- 0)
test summary_observe         ... bench:         481 ns/iter (+/- 21)

test result: ok. 0 passed; 0 failed; 0 ignored; 7 measured; 0 filtered out

References

Dependencies

~2MB
~41K SLoC