diff --git a/docker-compose-base.yaml b/docker-compose-base.yaml index c93a5c3..292d501 100644 --- a/docker-compose-base.yaml +++ b/docker-compose-base.yaml @@ -15,6 +15,7 @@ services: condition: service_healthy environment: MONGODB_URI: mongodb://order-db:27017 + OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector:4318" order-db: image: mongo volumes: diff --git a/src/main.rs b/src/main.rs index 9c89abe..e36b58b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -189,9 +189,16 @@ static RESOURCE: Lazy = Lazy::new(|| { /// Initializes OpenTelemetry metrics exporter and sets the global meter provider. fn init_otlp() -> HttpMetricsLayer { + let otlp_url = match env::var_os("OTEL_EXPORTER_OTLP_ENDPOINT") { + Some(uri) => uri.into_string().unwrap(), + None => "http://localhost:4318".to_string(), + }; + + let otlp_endpoint = format!("{}/v1/metrics", otlp_url.trim_end_matches('/')); + let exporter = opentelemetry_otlp::MetricExporter::builder() .with_http() - .with_endpoint("http://otel-collector:4318/v1/metrics") + .with_endpoint(otlp_endpoint) .with_temporality(Temporality::default()) .build() .unwrap();