userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
opentelemetry.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/tracing/opentelemetry.hpp
4
/// @brief OpenTelemetry traceparent header parsing and building.
5
/// @ingroup userver_universal
6
7
#
include
<
string
>
8
9
#
include
<
userver
/
utils
/
expected
.
hpp
>
10
#
include
<
userver
/
utils
/
string_literal
.
hpp
>
11
#
include
<
userver
/
utils
/
strong_typedef
.
hpp
>
12
13
USERVER_NAMESPACE_BEGIN
14
15
/// @brief OpenTelemetry traceparent parsing and header building.
16
namespace
tracing
::
opentelemetry
{
17
18
inline
constexpr
std::size_t kTraceIdSize = 32;
19
inline
constexpr
std::size_t kSpanIdSize = 16;
20
21
struct
TraceParentDataView
{
22
std::string_view version;
23
std::string_view trace_id;
24
std::string_view span_id;
25
std::string_view trace_flags;
26
};
27
28
utils
::
expected
<
TraceParentDataView
, USERVER_NAMESPACE::
utils
::
StringLiteral
> ExtractTraceParentDataView(
29
std::string_view trace_parent
30
)
noexcept
;
31
32
utils
::
expected
<std::string, std::string> BuildTraceParentHeader(
33
std::string_view trace_id,
34
std::string_view span_id,
35
std::string_view trace_flags
36
);
37
38
}
// namespace tracing::opentelemetry
39
40
USERVER_NAMESPACE_END
userver
tracing
opentelemetry.hpp
Generated on
for userver by
Doxygen
1.17.0