4#include <unordered_set> 
    6#include <userver/tracing/span.hpp> 
    7#include <userver/tracing/tracer_fwd.hpp> 
   22  static void SetNoLogSpans(NoLogSpans&& spans);
 
   23  static bool IsNoLogSpan(
const std::string& name);
 
   25  static void SetTracer(TracerPtr tracer);
 
   27  static TracerPtr GetTracer();
 
   29  const std::string& GetServiceName() 
const;
 
   31  Span CreateSpanWithoutParent(std::string name);
 
   33  Span CreateSpan(std::string name, 
const Span& parent,
 
   34                  ReferenceType reference_type);
 
   37  virtual void LogSpanContextTo(
const Span::Impl& span,
 
   38                                logging::impl::TagWriter writer) 
const = 0;
 
   41  explicit Tracer(std::string_view service_name)
 
   42      : service_name_(service_name) {}
 
   47  const std::string service_name_;