8#include <userver/tracing/span.hpp> 
    9#include <userver/utils/impl/source_location.hpp> 
   11USERVER_NAMESPACE_BEGIN
 
   16class SpanBuilder 
final {
 
   18  explicit SpanBuilder(std::string name,
 
   19                       const utils::impl::SourceLocation& location =
 
   20                           utils::impl::SourceLocation::Current());
 
   22  void SetTraceId(std::string trace_id);
 
   23  const std::string& GetTraceId() 
const noexcept;
 
   24  void SetSpanId(std::string span_id);
 
   25  void SetParentSpanId(std::string parent_span_id);
 
   26  void SetParentLink(std::string parent_link);
 
   27  void AddTagFrozen(std::string key, 
logging::LogExtra::Value value);
 
   28  void AddNonInheritableTag(std::string key, 
logging::LogExtra::Value value);
 
   32  std::unique_ptr<Span::Impl, Span::OptionalDeleter> pimpl_;