Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
trace_context.h File Reference

Distributed tracing context for OpenTelemetry-compatible tracing. More...

#include <array>
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
Include dependency graph for trace_context.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kcenon::network::tracing::trace_context
 Immutable trace context for distributed tracing. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::network
 Main namespace for all Network System components.
 
namespace  kcenon::network::tracing
 

Typedefs

using kcenon::network::tracing::trace_id_t = std::array<uint8_t, 16>
 Trace ID type (128-bit identifier)
 
using kcenon::network::tracing::span_id_t = std::array<uint8_t, 8>
 Span ID type (64-bit identifier)
 

Enumerations

enum class  kcenon::network::tracing::trace_flags : uint8_t { kcenon::network::tracing::none = 0x00 , kcenon::network::tracing::sampled = 0x01 }
 Trace flags (8-bit) More...
 

Functions

auto kcenon::network::tracing::generate_trace_id () -> trace_id_t
 Generate a random trace ID.
 
auto kcenon::network::tracing::generate_span_id () -> span_id_t
 Generate a random span ID.
 
auto kcenon::network::tracing::bytes_to_hex (const uint8_t *data, size_t size) -> std::string
 Convert bytes to lowercase hex string.
 
auto kcenon::network::tracing::hex_to_bytes (std::string_view hex, uint8_t *out, size_t size) -> bool
 Parse hex string to bytes.
 

Detailed Description

Distributed tracing context for OpenTelemetry-compatible tracing.

Provides trace context management with W3C Trace Context propagation support for distributed tracing across network operations.

Author
kcenon
Date
2025-01-15

Definition in file trace_context.h.