Spaces:
Running
Running
File size: 1,023 Bytes
7856e60 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | use opentelemetry::{global, KeyValue};
use opentelemetry_otlp::WithExportConfig;
use opentelemetry_sdk::{trace as sdktrace, Resource};
use std::env;
/// Initialize the OpenTelemetry tracer
pub fn init_tracer(
) -> Result<opentelemetry_sdk::trace::Tracer, Box<dyn std::error::Error + Send + Sync + 'static>> {
let endpoint = env::var("OTEL_EXPORTER_OTLP_ENDPOINT")
.unwrap_or_else(|_| "http://localhost:4317".to_string());
let tracer =
opentelemetry_otlp::new_pipeline()
.tracing()
.with_exporter(
opentelemetry_otlp::new_exporter()
.http()
.with_endpoint(endpoint),
)
.with_trace_config(sdktrace::config().with_resource(Resource::new(vec![
KeyValue::new("service.name", "rtix-core"),
])))
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
Ok(tracer)
}
/// Shutdown the tracer
pub fn shutdown_tracer() {
global::shutdown_tracer_provider();
}
|