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);
278 std::chrono::system_clock::time_point GetStartSystemTime()
const;
280 std::chrono::steady_clock::time_point GetStartSteadyTime()
const;
284 void AddTags(
const logging::LogExtra&,
utils::impl::InternalTag);
287 impl::TimeStorage& GetTimeStorage(
utils::impl::InternalTag);
290 void LogTo(
utils::impl::InternalTag, logging::impl::TagWriter writer)
const;
294 struct OptionalDeleter {
295 void operator()(Impl*)
const noexcept;
297 static OptionalDeleter ShouldDelete()
noexcept;
299 static OptionalDeleter DoNotDelete()
noexcept;
302 explicit OptionalDeleter(
bool do_delete)
303 : do_delete_(do_delete)
306 const bool do_delete_;
309 friend class SpanBuilder;
311 friend class InPlaceSpan;
312 friend class engine::TracePlugin;
314 explicit Span(std::unique_ptr<Impl, OptionalDeleter>&& pimpl);
316 std::string_view GetTag(std::string_view tag)
const;
318 std::unique_ptr<Impl, OptionalDeleter> pimpl_;