]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/tracer: return static noop span, instead of calling StartSpan(..)
authorOmri Zeneva <ozeneva@redhat.com>
Thu, 20 Jan 2022 09:01:11 +0000 (04:01 -0500)
committerOmri Zeneva <ozeneva@redhat.com>
Tue, 17 May 2022 08:38:00 +0000 (04:38 -0400)
Signed-off-by: Omri Zeneva <ozeneva@redhat.com>
src/common/tracer.cc
src/common/tracer.h

index c9891726044c8a57653076a97febdf99e7ca092b..4d183eb72e793ceaccc3bd7c9c472134d5a56a40 100644 (file)
@@ -11,6 +11,7 @@
 namespace tracing {
 
 const opentelemetry::nostd::shared_ptr<opentelemetry::trace::Tracer> Tracer::noop_tracer = opentelemetry::trace::Provider::GetTracerProvider()->GetTracer("no-op", OPENTELEMETRY_SDK_VERSION);
+const jspan Tracer::noop_span = noop_tracer->StartSpan("noop");
 
 using bufferlist = ceph::buffer::list;
 
@@ -39,7 +40,7 @@ jspan Tracer::start_trace(opentelemetry::nostd::string_view trace_name) {
   if (is_enabled()) {
     return tracer->StartSpan(trace_name);
   }
-  return noop_tracer->StartSpan(trace_name);
+  return noop_span;
 }
 
 jspan Tracer::start_trace(opentelemetry::nostd::string_view trace_name, bool trace_is_enabled) {
@@ -54,7 +55,7 @@ jspan Tracer::add_span(opentelemetry::nostd::string_view span_name, const jspan&
     const auto parent_ctx = parent_span->GetContext();
     return add_span(span_name, parent_ctx);
   }
-  return noop_tracer->StartSpan(span_name);
+  return noop_span;
 }
 
 jspan Tracer::add_span(opentelemetry::nostd::string_view span_name, const jspan_context& parent_ctx) {
@@ -63,7 +64,7 @@ jspan Tracer::add_span(opentelemetry::nostd::string_view span_name, const jspan_
     span_opts.parent = parent_ctx;
     return tracer->StartSpan(span_name, span_opts);
   }
-  return noop_tracer->StartSpan(span_name);
+  return noop_span;
 }
 
 bool Tracer::is_enabled() const {
index bd095f310f6184c954a098ecee193eac7d82aaca..242ae00e42d1177057c8727e2d29fd53ba87193d 100644 (file)
@@ -21,6 +21,7 @@ namespace tracing {
 class Tracer {
  private:
   const static opentelemetry::nostd::shared_ptr<opentelemetry::trace::Tracer> noop_tracer;
+  const static jspan noop_span;
   opentelemetry::nostd::shared_ptr<opentelemetry::trace::Tracer> tracer;
 
  public:
@@ -59,7 +60,6 @@ void decode(jspan_context& span_ctx, ceph::buffer::list::const_iterator& bl);
 #include <string_view>
 
 
-
 class Value {
  public:
   template <typename T> Value(T val) {}