42 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
51 ReferenceType reference_type = ReferenceType::kChild,
52 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
55 Span(Span&& other)
noexcept;
56 Span(
const Span& other) =
delete;
57 Span& operator=(Span&&) =
delete;
58 Span& operator=(
const Span&) =
delete;
86 std::string_view trace_id,
87 std::string_view parent_span_id,
88 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
102 std::string_view trace_id,
103 std::string_view parent_span_id,
104 std::string_view link,
105 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
118 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
127 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
132 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
169 void AddNonInheritableTags(
const logging::LogExtra&);
176 void AddEvent(std::string_view event_name);
276 std::chrono::system_clock::time_point GetStartSystemTime()
const;
280 void AddTags(
const logging::LogExtra&,
utils::impl::InternalTag);
283 impl::TimeStorage& GetTimeStorage(
utils::impl::InternalTag);
286 void LogTo(
utils::impl::InternalTag,
logging::impl::TagWriter writer)
const;
290 struct OptionalDeleter {
291 void operator()(Impl*)
const noexcept;
293 static OptionalDeleter ShouldDelete()
noexcept;
295 static OptionalDeleter DoNotDelete()
noexcept;
298 explicit OptionalDeleter(
bool do_delete) : do_delete(do_delete) {}
300 const bool do_delete;
303 friend class SpanBuilder;
305 friend class InPlaceSpan;
307 explicit Span(std::unique_ptr<Impl, OptionalDeleter>&& pimpl);
309 std::string_view GetTag(std::string_view tag)
const;
311 std::unique_ptr<Impl, OptionalDeleter> pimpl_;