WIP: add metrics to the metadata engine #853

Draft
quentin wants to merge 8 commits from feat-metrics-metadata-engine into main
Showing only changes of commit 1685d83c04 - Show all commits

View file

@ -9,7 +9,7 @@ use crate::{
}; };
use opentelemetry::{ use opentelemetry::{
global, global,
metrics::{Counter, ValueRecorder}, metrics::{Counter, Unit, ValueRecorder},
KeyValue, KeyValue,
}; };
@ -32,6 +32,7 @@ impl MetricDbProxy {
op_duration: meter op_duration: meter
.f64_value_recorder("db.op_duration") .f64_value_recorder("db.op_duration")
.with_description("Duration of operations on the local metadata engine") .with_description("Duration of operations on the local metadata engine")
.with_unit(Unit::new("us"))
.init(), .init(),
}; };
Db(Arc::new(s)) Db(Arc::new(s))
@ -53,12 +54,12 @@ impl MetricDbProxy {
let request_start = Instant::now(); let request_start = Instant::now();
let res = fx(); let res = fx();
self.op_duration.record( let delay_nanos = Instant::now()
Instant::now()
.saturating_duration_since(request_start) .saturating_duration_since(request_start)
.as_secs_f64(), .as_nanos();
&metric_tags, let delay_micro: f64 = delay_nanos as f64 / 1000.0f64;
); println!("delay {}", delay_micro);
self.op_duration.record(delay_micro, &metric_tags);
res res
} }