44 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
53 ReferenceType reference_type = ReferenceType::kChild,
54 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
57 Span(Span&& other)
noexcept;
58 Span(
const Span& other) =
delete;
59 Span& operator=(Span&&) =
delete;
60 Span& operator=(
const Span&) =
delete;
88 std::string_view trace_id,
89 std::string_view parent_span_id,
90 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
104 std::string_view trace_id,
105 std::string_view parent_span_id,
106 std::string_view link,
107 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
120 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
129 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
134 const utils::impl::SourceLocation& source_location =
utils::impl::SourceLocation::Current()
160 void AddTag(std::string key, logging::LogExtra::Value value);
171 void AddNonInheritableTags(
const logging::LogExtra&);
178 void AddEvent(std::string_view event_name);
284 std::chrono::system_clock::time_point GetStartSystemTime()
const noexcept;
286 std::chrono::steady_clock::time_point GetStartSteadyTime()
const noexcept;
290 void AddTags(
const logging::LogExtra&,
utils::impl::InternalTag);
293 impl::TimeStorage& GetTimeStorage(
utils::impl::InternalTag)
noexcept;
296 void LogTo(
utils::impl::InternalTag, logging::impl::TagWriter writer)
const;
300 struct OptionalDeleter {
301 void operator()(Impl*)
const noexcept;
303 static OptionalDeleter ShouldDelete()
noexcept;
305 static OptionalDeleter DoNotDelete()
noexcept;
308 constexpr explicit OptionalDeleter(
bool do_delete)
noexcept
309 : do_delete_(do_delete)
312 const bool do_delete_;
315 friend class SpanBuilder;
317 friend class InPlaceSpan;
318 friend class engine::TracePlugin;
320 explicit Span(std::unique_ptr<Impl, OptionalDeleter>&& pimpl);
322 std::string_view GetTag(std::string_view tag)
const;
324 std::unique_ptr<Impl, OptionalDeleter> pimpl_;