]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/tracer: set the tracer provider singleton 47507/head
authorOmri Zeneva <ozeneva@redhat.com>
Tue, 9 Aug 2022 05:41:38 +0000 (01:41 -0400)
committerOmri Zeneva <ozeneva@redhat.com>
Sun, 28 Aug 2022 05:53:42 +0000 (01:53 -0400)
due to changes in opentelemetry lib, the destruction of the tracer provider at the end of the init method also destructs the tracer, so we need to keep the tracer provider, as mentioned in opentelemetry documentation

Signed-off-by: Omri Zeneva <ozeneva@redhat.com>
src/common/tracer.cc

index 915ea601a1cd8b3309dd581caf6aa3f02f0fab73..61c66982c952f927de83f1d357ddd01210a6186e 100644 (file)
@@ -30,6 +30,7 @@ void Tracer::init(opentelemetry::nostd::string_view service_name) {
     auto jaeger_exporter = std::unique_ptr<opentelemetry::sdk::trace::SpanExporter>(new opentelemetry::exporter::jaeger::JaegerExporter(exporter_options));
     auto processor = std::unique_ptr<opentelemetry::sdk::trace::SpanProcessor>(new opentelemetry::sdk::trace::BatchSpanProcessor(std::move(jaeger_exporter), processor_options));
     const auto provider = opentelemetry::nostd::shared_ptr<opentelemetry::trace::TracerProvider>(new opentelemetry::sdk::trace::TracerProvider(std::move(processor), jaeger_resource));
+    opentelemetry::trace::Provider::SetTracerProvider(provider);
     tracer = provider->GetTracer(service_name, OPENTELEMETRY_SDK_VERSION);
   }
 }