Opentracing support.
Classes | |
class | DefaultTracingManagerLocator |
Component that provides access to the actual TracingManager that is used in handlers and clients. More... | |
class | GenericTracingManager |
Generic tracing manager that knows about popular tracing headers and allows customising input and output headers. More... | |
class | InPlaceSpan |
Avoids an extra allocation by storing tracing::Span data in-place. More... | |
class | ScopeTime |
Type to measure execution time of a scope. More... | |
class | Span |
Measures the execution time of the current code block, links it with the parent tracing::Spans and stores that info in the log. More... | |
class | SpanBuilder |
Provides interface for editing Span, before final building. More... | |
class | TagScope |
RAII object that calls Span::AddTag/Span::AddTagFrozen function in constructor and reverts these actions in destructor. More... | |
class | Tracer |
class | TracingManagerBase |
Base class for propagating trace context information in headers. More... | |
class | TracingManagerComponentBase |
Base component for implementing TracingManager component. More... | |
Typedefs | |
using | TracerPtr = std::shared_ptr<Tracer> |
Enumerations | |
enum class | Format : short { kYandexTaxi = 1 << 1 , kYandex = 1 << 2 , kOpenTelemetry = 1 << 3 , kB3Alternative = 1 << 4 } |
enum class | ReferenceType { kChild , kReference } |
Functions | |
Format | FormatFromString (std::string_view format) |
Converts a textual representation of format into tracing::Format enum. | |
bool | TryFillSpanBuilderFromRequest (Format format, const server::http::HttpRequest &request, SpanBuilder &span_builder) |
void | FillRequestWithTracingContext (Format format, const tracing::Span &span, clients::http::RequestTracingEditor request) |
void | FillResponseWithTracingContext (Format format, const Span &span, server::http::HttpResponse &response) |
void | SetThrottleReason (std::string value) |
Sets a Span tag with overload reason. | |
void | SetThrottleReason (Span &span, std::string &&value) |
TracerPtr | MakeTracer (std::string_view service_name, logging::LoggerPtr logger, std::string_view tracer_type="native") |
Make a tracer that could be set globally via tracing::Tracer::SetTracer. | |
using tracing::TracerPtr = std::shared_ptr<Tracer> |
Definition at line 12 of file tracer_fwd.hpp.
|
strong |
Enumerator | |
---|---|
kYandexTaxi | Yandex Taxi/Lavka/Eda/... tracing: http::headers::kXYaTraceId -> tracing::Span::GetTraceId() -> http::headers::kXYaTraceId
http::headers::kXYaRequestId -> tracing::Span::GetParentLink(); tracing::Span::GetLink() -> http::headers::kXYaRequestId
http::headers::kXYaSpanId -> tracing::Span::GetParentId(); tracing::Span::GetSpanId() -> http::headers::kXYaSpanId
|
kYandex | Yandex Search tracing: http::headers::kXRequestId -> tracing::Span::GetTraceId() -> http::headers::kXRequestId |
kOpenTelemetry | Use http::headers::opentelemetry::kTraceState and http::headers::opentelemetry::kTraceParent headers to fill the tracing::opentelemetry::TraceParentData as per OpenTelemetry. |
kB3Alternative | Openzipkin b3 alternative propagation, where Span ID goes to partern ID: b3::kTraceId -> tracing::Span::GetTraceId() -> b3::kTraceId
b3::kSpanId -> tracing::Span::GetParentId(); tracing::Span::GetSpanId() -> b3::kSpanId
span.GetParentId() -> b3::kParentSpanId
See https://github.com/openzipkin/b3-propagation for more info. |
Definition at line 49 of file manager.hpp.
|
strong |
Definition at line 9 of file tracer_fwd.hpp.