|
|
|
@@ -14,7 +14,6 @@ use operator::{run_operator, OperatorEvent, StopReason}; |
|
|
|
#[cfg(feature = "tracing")] |
|
|
|
use dora_tracing::set_up_tracing; |
|
|
|
use std::{ |
|
|
|
borrow::Cow, |
|
|
|
collections::{BTreeMap, BTreeSet, HashMap}, |
|
|
|
mem, |
|
|
|
}; |
|
|
|
@@ -123,19 +122,17 @@ async fn run( |
|
|
|
init_done: oneshot::Receiver<Result<()>>, |
|
|
|
) -> eyre::Result<()> { |
|
|
|
#[cfg(feature = "metrics")] |
|
|
|
let _started = { |
|
|
|
let _meter_provider = { |
|
|
|
use dora_metrics::init_metrics; |
|
|
|
use opentelemetry::global; |
|
|
|
use opentelemetry::metrics::MeterProvider as _; |
|
|
|
use opentelemetry_system_metrics::init_process_observer; |
|
|
|
|
|
|
|
let _started = init_metrics().context("Could not create opentelemetry meter")?; |
|
|
|
let meter = global::meter(Cow::Borrowed(Box::leak( |
|
|
|
config.node_id.to_string().into_boxed_str(), |
|
|
|
))); |
|
|
|
init_process_observer(meter).context("could not initiale system metrics observer")?; |
|
|
|
_started |
|
|
|
let meter_provider = init_metrics().context("Could not create opentelemetry meter")?; |
|
|
|
let meter = meter_provider.meter(config.node_id.to_string()); |
|
|
|
let _ = |
|
|
|
init_process_observer(meter).context("could not initiale system metrics observer")?; |
|
|
|
meter_provider |
|
|
|
}; |
|
|
|
|
|
|
|
init_done |
|
|
|
.await |
|
|
|
.wrap_err("the `init_done` channel was closed unexpectedly")? |
|
|
|
|