]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
fix(dnsdist): don't do work without a tracer
authorPieter Lexis <pieter.lexis@powerdns.com>
Mon, 30 Mar 2026 10:04:34 +0000 (12:04 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Mon, 1 Jun 2026 10:51:43 +0000 (12:51 +0200)
pdns/dnsdistdist/dnsdist-lua-bindings-opentelemetry.cc

index f77ed349443cb57a27596a4fcf1f8171540ec84c..19c358c0460c5a4d7e8b5e42178dc8dd70f8c8f4 100644 (file)
@@ -41,31 +41,29 @@ void emptyLuaTracing(LuaContext& luaCtx)
 
 void setupLuaTracing(LuaContext& luaCtx, std::shared_ptr<Tracer>& tracer)
 {
-  if (tracer != nullptr) {
-    luaCtx.writeFunction<void(const std::string&, const std::function<void()>&)>(
-      "withTraceSpan",
-      [&tracer](const std::string& name, const std::function<void()>& luaFunc) {
+  if (tracer == nullptr) {
+    return;
+  }
+
+  luaCtx.writeFunction<void(const std::string&, const std::function<void()>&)>(
+    "withTraceSpan",
+    [&tracer](const std::string& name, const std::function<void()>& luaFunc) {
 #ifndef DISABLE_PROTOBUF
-        if (tracer != nullptr) {
-          auto closer = tracer->openSpan(name);
-          luaFunc();
-          return;
-        }
+      auto closer = tracer->openSpan(name);
+      luaFunc();
+      return;
 #endif
-        luaFunc();
-      });
+      luaFunc();
+    });
 
-    luaCtx.writeFunction<void(const std::string&, const std::string&)>(
-      "setSpanAttribute",
-      [&tracer](const std::string& key, const std::string& value) {
+  luaCtx.writeFunction<void(const std::string&, const std::string&)>(
+    "setSpanAttribute",
+    [&tracer](const std::string& key, const std::string& value) {
 #ifndef DISABLE_PROTOBUF
-        if (tracer != nullptr) {
-          tracer->setSpanAttribute(tracer->getLastSpanID(), key, AnyValue{value});
-        }
+      tracer->setSpanAttribute(tracer->getLastSpanID(), key, AnyValue{value});
 #endif
-        return;
-      });
-  }
+      return;
+    });
 }
 
 } // namespace pdns::trace::dnsdist