fixes for otel in non-controller build

This commit is contained in:
Grant Limberg 2025-07-16 12:57:18 -07:00
parent 4c4a360469
commit 4aea588eef
2 changed files with 6 additions and 1 deletions

View file

@ -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

View file

@ -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();