9#include <userver/tracing/span.hpp>
10#include <userver/utils/impl/source_location.hpp>
12USERVER_NAMESPACE_BEGIN
17class SpanBuilder
final {
21 const utils::impl::SourceLocation& location = utils::impl::SourceLocation::Current()
24 void SetTraceId(std::string_view trace_id);
25 std::string_view GetTraceId()
const noexcept;
26 void SetSpanId(std::string_view span_id);
27 void SetLink(std::string_view link);
28 void SetParentSpanId(std::string_view parent_span_id);
29 void SetParentLink(std::string_view parent_link);
31 void AddTagFrozen(std::string key, logging::LogExtra::Value value);
32 void AddNonInheritableTag(std::string key, logging::LogExtra::Value value);
35 Span BuildDetachedFromCoroStack() &&;
38 std::unique_ptr<Span::Impl, Span::OptionalDeleter> pimpl_;