LCOV - code coverage report
Current view: top level - source/common/tracing - null_span_impl.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 5 16 31.2 %
Date: 2024-01-05 06:35:25 Functions: 2 11 18.2 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/tracing/trace_driver.h"
       4             : 
       5             : #include "source/common/common/empty_string.h"
       6             : 
       7             : namespace Envoy {
       8             : namespace Tracing {
       9             : 
      10             : /**
      11             :  * Null implementation of Span.
      12             :  */
      13             : class NullSpan : public Span {
      14             : public:
      15         266 :   static NullSpan& instance() {
      16         266 :     static NullSpan* instance = new NullSpan();
      17         266 :     return *instance;
      18         266 :   }
      19             : 
      20             :   // Tracing::Span
      21           0 :   void setOperation(absl::string_view) override {}
      22           0 :   void setTag(absl::string_view, absl::string_view) override {}
      23           0 :   void log(SystemTime, const std::string&) override {}
      24           0 :   void finishSpan() override {}
      25             :   void injectContext(Tracing::TraceContext&,
      26         251 :                      const Upstream::HostDescriptionConstSharedPtr&) override {}
      27           0 :   void setBaggage(absl::string_view, absl::string_view) override {}
      28           0 :   std::string getBaggage(absl::string_view) override { return EMPTY_STRING; }
      29           0 :   std::string getTraceIdAsHex() const override { return EMPTY_STRING; }
      30           0 :   SpanPtr spawnChild(const Config&, const std::string&, SystemTime) override {
      31           0 :     return SpanPtr{new NullSpan()};
      32           0 :   }
      33           0 :   void setSampled(bool) override {}
      34             : };
      35             : 
      36             : } // namespace Tracing
      37             : } // namespace Envoy

Generated by: LCOV version 1.15