Crates.io | metrics-exporter-opentelemetry |
lib.rs | metrics-exporter-opentelemetry |
version | 0.1.2 |
created_at | 2025-03-07 08:59:27.426023+00 |
updated_at | 2025-06-01 21:00:26.794391+00 |
description | 🐻❄️🎈 A `metrics` exporter over OpenTelemetry |
homepage | |
repository | https://github.com/Noelware/metrics-exporter-opentelemetry |
max_upload_size | |
id | 1582544 |
size | 60,910 |
metrics-exporter-opentelemetry
metrics
exporter over OpenTelemetryThe metrics-exporter-opentelemetry crate is a metrics
exporter over OpenTelemetry's metrics API.
The crate doesn't support the following methods from metrics
:
Counter::absolute
- OpenTelemetry doesn't keep track of the value inside of a counter.
Gauge::increment
, Gauge::decrement
- OpenTelemetry doesn't keep track of the value inside of a gauge.
Histogram::record_many
- OpenTelemetry doesn't support recording multiple histogram points.
The crate provide no-op implementations of the metrics::Recorder::describe_*
as we can't modify a constructed counter/gauge/histogram from metrics::Recorder::register_*
. The SDK keeps track of it but is internal and isn't able to be accessed.
// Cargo.toml:
//
// [dependencies]
// metrics = "^0"
// metrics-exporter-opentelemetry = "^0"
use metrics_exporter_opentelemetry::Recorder;
fn main() {
// Install a global `metrics` recorder
let _ = Recorder::builder("my-app")
.install_global()
.unwrap();
let counter = metrics::counter!("hello.world");
counter.increment(1);
}
metrics-exporter-opentelemetry is released under the MIT License with love, care, and Dr. Pepper. This is a call of help, I am too addicted to Dr. Pepper at this rate.