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);
269 std::chrono::system_clock::time_point GetStartSystemTime()
const;
271 std::chrono::steady_clock::time_point GetStartSteadyTime()
const;
275 void AddTags(
const logging::LogExtra&,
utils::impl::InternalTag);
278 impl::TimeStorage& GetTimeStorage(
utils::impl::InternalTag);
281 void LogTo(
utils::impl::InternalTag, logging::impl::TagWriter writer)
const;
285 struct OptionalDeleter {
286 void operator()(Impl*)
const noexcept;
288 static OptionalDeleter ShouldDelete()
noexcept;
290 static OptionalDeleter DoNotDelete()
noexcept;
293 explicit OptionalDeleter(
bool do_delete)
294 : do_delete_(do_delete)
297 const bool do_delete_;
300 friend class SpanBuilder;
302 friend class InPlaceSpan;
303 friend class engine::TracePlugin;
305 explicit Span(std::unique_ptr<Impl, OptionalDeleter>&& pimpl);
307 std::string_view GetTag(std::string_view tag)
const;
309 std::unique_ptr<Impl, OptionalDeleter> pimpl_;