From 4aea588eef65d993c85a213bc16798b70efdc18c Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Wed, 16 Jul 2025 12:57:18 -0700 Subject: [PATCH] fixes for otel in non-controller build --- make-linux.mk | 2 +- service/OneService.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/make-linux.mk b/make-linux.mk index 0264f229d..141607a4b 100644 --- a/make-linux.mk +++ b/make-linux.mk @@ -315,7 +315,7 @@ endif OTEL_VERSION=1.21.0 ifeq (${ZT_OTEL},1) OTEL_INSTALL_DIR=ext/opentelemetry-cpp-${OTEL_VERSION}/localinstall - DEFS+=-DZT_OPENTELEMETRY_ENABLED=1 + override DEFS+=-DZT_OPENTELEMETRY_ENABLED=1 INCLUDES+=-I${OTEL_INSTALL_DIR}/include LDLIBS+=-L${OTEL_INSTALL_DIR}/lib -lopentelemetry_exporter_in_memory_metric -lopentelemetry_exporter_in_memory -lopentelemetry_exporter_ostream_logs -lopentelemetry_exporter_ostream_metrics -lopentelemetry_exporter_ostream_span -lopentelemetry_exporter_otlp_grpc -lopentelemetry_exporter_otlp_grpc_client -lopentelemetry_exporter_otlp_grpc_log -lopentelemetry_exporter_otlp_grpc_metrics -lopentelemetry_otlp_recordable -lopentelemetry_common -lopentelemetry_trace -lopentelemetry_common -lopentelemetry_resources -lopentelemetry_logs -lopentelemetry_metrics -lopentelemetry_proto -lopentelemetry_proto_grpc -lopentelemetry_version -lprotobuf -lgrpc++ else diff --git a/service/OneService.cpp b/service/OneService.cpp index d26bb795e..386b3c577 100644 --- a/service/OneService.cpp +++ b/service/OneService.cpp @@ -64,6 +64,8 @@ #include "opentelemetry/exporters/otlp/otlp_grpc_exporter.h" #include "opentelemetry/exporters/otlp/otlp_grpc_log_record_exporter.h" #include "opentelemetry/exporters/otlp/otlp_grpc_metric_exporter.h" +#include "opentelemetry/logs/logger.h" +#include "opentelemetry/metrics/provider.h" #include "opentelemetry/sdk/metrics/export/periodic_exporting_metric_reader.h" #include "opentelemetry/sdk/metrics/meter_provider.h" #include "opentelemetry/sdk/metrics/metric_reader.h" @@ -77,6 +79,7 @@ #include "opentelemetry/sdk/trace/tracer.h" #include "opentelemetry/sdk/trace/tracer_context.h" #include "opentelemetry/sdk/trace/tracer_provider.h" +#include "opentelemetry/trace/provider.h" namespace sdktrace = opentelemetry::v1::sdk::trace; namespace sdkmetrics = opentelemetry::v1::sdk::metrics; @@ -1063,6 +1066,7 @@ class OneServiceImpl : public OneService { void initTracing() { if (! _exporterEndpoint.empty() && _exporterSampleRate > 0.0) { + fprintf(stderr, "OpenTelemetry tracing enabled with endpoint %s and sample rate %.2f\n", _exporterEndpoint.c_str(), _exporterSampleRate); // Set up OpenTelemetry exporter and tracer provider opentelemetry::v1::exporter::otlp::OtlpGrpcExporterOptions opts; opts.endpoint = _exporterEndpoint + "/v1/traces"; @@ -1179,6 +1183,7 @@ class OneServiceImpl : public OneService { applyLocalConfig(); #ifdef ZT_OPENTELEMETRY_ENABLED + fprintf(stderr, "OneServiceImpl::run: initializing OpenTelemetry...\n"); initTracing(); initMetrics(); initLogging();