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_;