Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::tracing::tracing_config Struct Reference

Main configuration structure for tracing. More...

#include <tracing_config.h>

Collaboration diagram for kcenon::network::tracing::tracing_config:
Collaboration graph

Static Public Member Functions

static auto console () -> tracing_config
 Create default configuration with console exporter.
 
static auto otlp_grpc (const std::string &endpoint="http://localhost:4317") -> tracing_config
 Create default configuration for OTLP gRPC exporter.
 
static auto otlp_http (const std::string &endpoint="http://localhost:4318") -> tracing_config
 Create default configuration for OTLP HTTP exporter.
 
static auto jaeger (const std::string &endpoint="http://localhost:14268/api/traces") -> tracing_config
 Create default configuration for Jaeger exporter.
 
static auto disabled () -> tracing_config
 Create disabled tracing configuration.
 

Public Attributes

exporter_type exporter = exporter_type::none
 Exporter type to use @default exporter_type::none.
 
std::string service_name = "network_system"
 Service name for trace identification @default "network_system".
 
std::string service_version
 Service version @default "".
 
std::string service_namespace
 Service namespace @default "".
 
std::string service_instance_id
 Service instance ID (unique per instance) @default "" (auto-generated if empty)
 
std::map< std::string, std::string > resource_attributes
 Additional resource attributes.
 
sampler_type sampler = sampler_type::always_on
 Sampler type to use @default sampler_type::always_on.
 
double sample_rate = 1.0
 Sampling rate (0.0 to 1.0)
 
otlp_config otlp
 OTLP exporter configuration.
 
std::string jaeger_endpoint = "http://localhost:14268/api/traces"
 Jaeger exporter endpoint @default "http://localhost:14268/api/traces".
 
std::string zipkin_endpoint = "http://localhost:9411/api/v2/spans"
 Zipkin exporter endpoint @default "http://localhost:9411/api/v2/spans".
 
batch_config batch
 Batch export configuration.
 
bool debug = false
 Enable debug output @default false.
 

Detailed Description

Main configuration structure for tracing.

This structure contains all configuration options for the tracing system, including exporter selection, sampling configuration, and service metadata.

Example usage:
config.service_name = "my-service";
config.otlp.endpoint = "http://otel-collector:4317";
config.sample_rate = 0.1; // Sample 10% of traces
tracing_config config
Definition exporters.cpp:29
@ otlp_grpc
OTLP over gRPC (OpenTelemetry Collector)
void configure_tracing(const tracing_config &config)
Initialize the tracing system with configuration.
Main configuration structure for tracing.

Definition at line 135 of file tracing_config.h.

Member Function Documentation

◆ console()

static auto kcenon::network::tracing::tracing_config::console ( ) -> tracing_config
inlinestaticnodiscard

Create default configuration with console exporter.

Returns
Configuration for console output

Definition at line 218 of file tracing_config.h.

219 {
220 tracing_config config;
222 return config;
223 }
@ console
Console/stdout output (for debugging)

References config, and kcenon::network::tracing::console.

◆ disabled()

static auto kcenon::network::tracing::tracing_config::disabled ( ) -> tracing_config
inlinestaticnodiscard

Create disabled tracing configuration.

Returns
Configuration with tracing disabled

Definition at line 272 of file tracing_config.h.

273 {
274 return tracing_config{};
275 }

◆ jaeger()

static auto kcenon::network::tracing::tracing_config::jaeger ( const std::string & endpoint = "http://localhost:14268/api/traces") -> tracing_config
inlinestaticnodiscard

Create default configuration for Jaeger exporter.

Parameters
endpointJaeger collector endpoint
Returns
Configuration for Jaeger export

Definition at line 258 of file tracing_config.h.

259 ://localhost:14268/api/traces")
260 -> tracing_config
261 {
262 tracing_config config;
263 config.exporter = exporter_type::jaeger;
264 config.jaeger_endpoint = endpoint;
265 return config;
266 }

References config, and kcenon::network::tracing::jaeger.

◆ otlp_grpc()

static auto kcenon::network::tracing::tracing_config::otlp_grpc ( const std::string & endpoint = "http://localhost:4317") -> tracing_config
inlinestaticnodiscard

Create default configuration for OTLP gRPC exporter.

Parameters
endpointOTLP endpoint URL
Returns
Configuration for OTLP gRPC export

Definition at line 230 of file tracing_config.h.

231 ://localhost:4317") -> tracing_config
232 {
233 tracing_config config;
235 config.otlp.endpoint = endpoint;
236 return config;
237 }

References config, and kcenon::network::tracing::otlp_grpc.

◆ otlp_http()

static auto kcenon::network::tracing::tracing_config::otlp_http ( const std::string & endpoint = "http://localhost:4318") -> tracing_config
inlinestaticnodiscard

Create default configuration for OTLP HTTP exporter.

Parameters
endpointOTLP endpoint URL
Returns
Configuration for OTLP HTTP export

Definition at line 244 of file tracing_config.h.

245 ://localhost:4318") -> tracing_config
246 {
247 tracing_config config;
249 config.otlp.endpoint = endpoint;
250 return config;
251 }
@ otlp_http
OTLP over HTTP (OpenTelemetry Collector)

References config, and kcenon::network::tracing::otlp_http.

Member Data Documentation

◆ batch

batch_config kcenon::network::tracing::tracing_config::batch

Batch export configuration.

Definition at line 206 of file tracing_config.h.

◆ debug

bool kcenon::network::tracing::tracing_config::debug = false

Enable debug output @default false.

Definition at line 212 of file tracing_config.h.

Referenced by kcenon::network::tracing::configure_tracing().

◆ exporter

exporter_type kcenon::network::tracing::tracing_config::exporter = exporter_type::none

Exporter type to use @default exporter_type::none.

Definition at line 141 of file tracing_config.h.

Referenced by kcenon::network::tracing::configure_tracing().

◆ jaeger_endpoint

std::string kcenon::network::tracing::tracing_config::jaeger_endpoint = "http://localhost:14268/api/traces"

Jaeger exporter endpoint @default "http://localhost:14268/api/traces".

Definition at line 195 of file tracing_config.h.

Referenced by kcenon::network::tracing::configure_tracing().

◆ otlp

otlp_config kcenon::network::tracing::tracing_config::otlp

OTLP exporter configuration.

Definition at line 189 of file tracing_config.h.

Referenced by kcenon::network::tracing::configure_tracing().

◆ resource_attributes

std::map<std::string, std::string> kcenon::network::tracing::tracing_config::resource_attributes

Additional resource attributes.

Definition at line 170 of file tracing_config.h.

◆ sample_rate

double kcenon::network::tracing::tracing_config::sample_rate = 1.0

Sampling rate (0.0 to 1.0)

Only used when sampler is trace_id. @default 1.0 (sample all traces)

Definition at line 184 of file tracing_config.h.

Referenced by kcenon::network::tracing::configure_tracing().

◆ sampler

sampler_type kcenon::network::tracing::tracing_config::sampler = sampler_type::always_on

Sampler type to use @default sampler_type::always_on.

Definition at line 176 of file tracing_config.h.

◆ service_instance_id

std::string kcenon::network::tracing::tracing_config::service_instance_id

Service instance ID (unique per instance) @default "" (auto-generated if empty)

Definition at line 165 of file tracing_config.h.

◆ service_name

std::string kcenon::network::tracing::tracing_config::service_name = "network_system"

Service name for trace identification @default "network_system".

Definition at line 147 of file tracing_config.h.

Referenced by kcenon::network::tracing::configure_tracing().

◆ service_namespace

std::string kcenon::network::tracing::tracing_config::service_namespace

Service namespace @default "".

Definition at line 159 of file tracing_config.h.

◆ service_version

std::string kcenon::network::tracing::tracing_config::service_version

Service version @default "".

Definition at line 153 of file tracing_config.h.

◆ zipkin_endpoint

std::string kcenon::network::tracing::tracing_config::zipkin_endpoint = "http://localhost:9411/api/v2/spans"

Zipkin exporter endpoint @default "http://localhost:9411/api/v2/spans".

Definition at line 201 of file tracing_config.h.

Referenced by kcenon::network::tracing::configure_tracing().


The documentation for this struct was generated from the following file: