8#include <userver/tracing/span.hpp>
9#include <userver/utils/fast_pimpl.hpp>
11USERVER_NAMESPACE_BEGIN
18class InPlaceSpan
final {
24 const utils::impl::SourceLocation& source_location = utils::impl::SourceLocation::Current()
29 std::string_view trace_id,
30 std::string_view parent_span_id,
31 const utils::impl::SourceLocation& source_location = utils::impl::SourceLocation::Current()
37 const utils::impl::SourceLocation& source_location = utils::impl::SourceLocation::Current()
40 InPlaceSpan(InPlaceSpan&&) =
delete;
41 InPlaceSpan& operator=(InPlaceSpan&&) =
delete;
44 const tracing::Span& Get()
const noexcept;
46 tracing::Span& Get()
noexcept;
50 utils::FastPimpl<Impl, 4392, 8> impl_;