Opentracing support.
Classes | |
| class | AnyValue |
| 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... | |
| struct | SpanEvent |
| Span event – time-stamped annotation of the span with user-provided text description. More... | |
| class | TagScope |
| RAII object that calls Span::AddTag / Span::AddTagFrozen function in constructor and reverts these actions in destructor. More... | |
| class | Tracer |
| class | TracerCleanupScope |
| 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> |
| using | NoLogSpans = ::dynamic_config::userver_no_log_spans::VariableType |
Enumerations | |
| enum class | ReferenceType { kChild , kReference } |
| enum class | Format : short { kYandexTaxi = 1 << 1 , kYandex = 1 << 2 , kOpenTelemetry = 1 << 3 , kB3Alternative = 1 << 4 } |
Functions | |
| AnyValue | Parse (const formats::json::Value &value, formats::parse::To< AnyValue >) |
| void | WriteToStream (const AnyValue &any_value, formats::json::StringBuilder &sw) |
| 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::PluginRequest 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) |
| SpanEvent | Parse (const formats::json::Value &value, formats::parse::To< SpanEvent >) |
| void | WriteToStream (const SpanEvent &span_event, formats::json::StringBuilder &sw) |
| void | SetNoLogSpans (NoLogSpans &&spans) |
| bool | IsNoLogSpan (const std::string &name) |
| NoLogSpans | CopyNoLogSpans () |
| using tracing::NoLogSpans = ::dynamic_config::userver_no_log_spans::VariableType |
Definition at line 16 of file tracer.hpp.
| 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 parent 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 46 of file manager.hpp.
|
strong |
Definition at line 9 of file tracer_fwd.hpp.