diff --git a/docker-compose-base.yaml b/docker-compose-base.yaml index c7f1adb..f83b04c 100644 --- a/docker-compose-base.yaml +++ b/docker-compose-base.yaml @@ -15,6 +15,7 @@ services: condition: service_healthy environment: MONGODB_URI: mongodb://review-db:27017 + OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector:4318" review-db: image: mongo volumes: diff --git a/src/main.rs b/src/main.rs index 5f2bdf9..68e2f86 100644 --- a/src/main.rs +++ b/src/main.rs @@ -144,9 +144,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();