]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
feat(dnsdist): add OT span benchmarks
authorPieter Lexis <pieter.lexis@powerdns.com>
Fri, 31 Oct 2025 12:24:10 +0000 (13:24 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 7 Jan 2026 12:16:20 +0000 (13:16 +0100)
pdns/dnsdistdist/bench-dnsdist-opentelemetry_cc.cc

index ccbf2a175b62e6381993c504c27c69f7254f8851..b7f11df551958077033891fe7bbf83808405194c 100644 (file)
@@ -49,11 +49,21 @@ TEST_CASE("OpenTelemetry-base")
   };
 }
 
+TEST_CASE("OpenTelemetry-addSpanThroughCloser")
+{
+  auto tracer = pdns::trace::dnsdist::Tracer::getTracer();
+  auto spanID = pdns::trace::SpanID::getRandomSpanID();
+
+  BENCHMARK("openspan")
+  {
+    return tracer->openSpan("activated", spanID);
+  };
+}
+
 TEST_CASE("OpenTelemetry-spaninfo")
 {
   auto tracer = pdns::trace::dnsdist::Tracer::getTracer();
   // Ensures span attributes are actually stored
-  tracer->activate();
   auto rootSpanID = tracer->openSpan("mySpan").getSpanID();
   auto stringvalue = pdns::trace::AnyValue{"hello"};
   auto intvalue = pdns::trace::AnyValue{43854};
@@ -141,32 +151,7 @@ TEST_CASE("OpenTelemetry-getTracesData")
     tracer->openSpan("foo" + std::to_string(i));
   }
 
-  BENCHMARK("Tracer with 41 pre-activation spans")
-  {
-    return tracer->getTracesData();
-  };
-
-  tracer = pdns::trace::dnsdist::Tracer::getTracer();
-  tracer->activate();
-  for (auto i = 0; i < 40; i++) {
-    tracer->openSpan("foo" + std::to_string(i));
-  }
-
-  BENCHMARK("Tracer with 41 post-activation spans")
-  {
-    return tracer->getTracesData();
-  };
-
-  tracer = pdns::trace::dnsdist::Tracer::getTracer();
-  for (auto i = 0; i < 40; i++) {
-    tracer->openSpan("foo" + std::to_string(i));
-  }
-  tracer->activate();
-  for (auto i = 0; i < 40; i++) {
-    tracer->openSpan("foo" + std::to_string(i));
-  }
-
-  BENCHMARK("Tracer with 41 pre-activation spans and 41 post-activation spans")
+  BENCHMARK("Tracer with 41 spans")
   {
     return tracer->getTracesData();
   };