47 const utils::
impl::SourceLocation& source_location = utils::
impl::SourceLocation::Current()
56 ReferenceType reference_type = ReferenceType::kChild,
57 const utils::
impl::SourceLocation& source_location = utils::
impl::SourceLocation::Current()
60 Span(Span&& other)
noexcept;
61 Span(
const Span& other) =
delete;
62 Span& operator=(Span&&) =
delete;
63 Span& operator=(
const Span&) =
delete;
91 std::string_view trace_id,
92 std::string_view parent_span_id,
93 const utils::
impl::SourceLocation& source_location = utils::
impl::SourceLocation::Current()
107 std::string_view trace_id,
108 std::string_view parent_span_id,
109 std::string_view link,
110 const utils::
impl::SourceLocation& source_location = utils::
impl::SourceLocation::Current()
123 const utils::
impl::SourceLocation& source_location = utils::
impl::SourceLocation::Current()
132 const utils::
impl::SourceLocation& source_location = utils::
impl::SourceLocation::Current()
137 const utils::
impl::SourceLocation& source_location = utils::
impl::SourceLocation::Current()
174 void AddNonInheritableTags(
const logging::LogExtra&);
181 void AddEvent(std::string_view event_name);
281 std::chrono::system_clock::time_point GetStartSystemTime()
const;
285 void AddTags(
const logging::LogExtra&, utils::
impl::InternalTag);
288 impl::TimeStorage& GetTimeStorage(utils::
impl::InternalTag);
291 void LogTo(utils::
impl::InternalTag,
logging::impl::TagWriter writer)
const;
295 struct OptionalDeleter {
296 void operator()(Impl*)
const noexcept;
298 static OptionalDeleter ShouldDelete()
noexcept;
300 static OptionalDeleter DoNotDelete()
noexcept;
303 explicit OptionalDeleter(
bool do_delete)
304 : do_delete_(do_delete)
307 const bool do_delete_;
310 friend class SpanBuilder;
312 friend class InPlaceSpan;
313 friend class engine::TracePlugin;
315 explicit Span(std::unique_ptr<Impl, OptionalDeleter>&& pimpl);
317 std::string_view GetTag(std::string_view tag)
const;
319 std::unique_ptr<Impl, OptionalDeleter> pimpl_;