Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
kcenon::monitoring::trace_export_config Struct Reference

Configuration for trace exporters. More...

#include <trace_exporters.h>

Collaboration diagram for kcenon::monitoring::trace_export_config:
Collaboration graph

Public Member Functions

common::VoidResult validate () const
 Validate export configuration.
 

Public Attributes

std::string endpoint
 Endpoint URL.
 
trace_export_format format = trace_export_format::otlp_grpc
 
std::chrono::milliseconds timeout {30000}
 Request timeout.
 
std::chrono::milliseconds batch_timeout {5000}
 Batch export timeout.
 
std::size_t max_batch_size = 512
 Maximum spans per batch.
 
std::size_t max_queue_size = 2048
 Maximum queued spans.
 
bool enable_compression = true
 Enable data compression.
 
std::unordered_map< std::string, std::string > headers
 Custom HTTP headers.
 
std::optional< std::string > service_name
 Override service name.
 

Detailed Description

Configuration for trace exporters.

Definition at line 61 of file trace_exporters.h.

Member Function Documentation

◆ validate()

common::VoidResult kcenon::monitoring::trace_export_config::validate ( ) const
inline

Validate export configuration.

Definition at line 75 of file trace_exporters.h.

75 {
76 if (endpoint.empty()) {
77 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
78 "Export endpoint cannot be empty", "monitoring_system").to_common_error());
79 }
80
81 if (timeout.count() <= 0) {
82 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
83 "Timeout must be positive", "monitoring_system").to_common_error());
84 }
85
86 if (max_batch_size == 0) {
87 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
88 "Batch size must be greater than 0", "monitoring_system").to_common_error());
89 }
90
92 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
93 "Queue size must be at least batch size", "monitoring_system").to_common_error());
94 }
95
96 return common::ok();
97 }
std::chrono::milliseconds timeout
Request timeout.
std::size_t max_queue_size
Maximum queued spans.
std::size_t max_batch_size
Maximum spans per batch.

References endpoint, kcenon::monitoring::invalid_configuration, max_batch_size, max_queue_size, and timeout.

Referenced by TEST_F().

Here is the caller graph for this function:

Member Data Documentation

◆ batch_timeout

std::chrono::milliseconds kcenon::monitoring::trace_export_config::batch_timeout {5000}

Batch export timeout.

Definition at line 65 of file trace_exporters.h.

65{5000};

◆ enable_compression

bool kcenon::monitoring::trace_export_config::enable_compression = true

Enable data compression.

Definition at line 68 of file trace_exporters.h.

◆ endpoint

◆ format

◆ headers

std::unordered_map<std::string, std::string> kcenon::monitoring::trace_export_config::headers

◆ max_batch_size

std::size_t kcenon::monitoring::trace_export_config::max_batch_size = 512

Maximum spans per batch.

Definition at line 66 of file trace_exporters.h.

Referenced by TEST_F(), TEST_F(), and validate().

◆ max_queue_size

std::size_t kcenon::monitoring::trace_export_config::max_queue_size = 2048

Maximum queued spans.

Definition at line 67 of file trace_exporters.h.

Referenced by TEST_F(), and validate().

◆ service_name

std::optional<std::string> kcenon::monitoring::trace_export_config::service_name

◆ timeout


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