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

Configuration for OpenTelemetry exporters. More...

#include <opentelemetry_adapter.h>

Collaboration diagram for kcenon::monitoring::opentelemetry_exporter_config:
Collaboration graph

Public Member Functions

common::VoidResult validate () const
 

Public Attributes

std::string endpoint {"http://localhost:4317"}
 
std::string protocol {"grpc"}
 
std::chrono::milliseconds timeout {30000}
 
std::chrono::milliseconds export_interval {5000}
 
std::size_t max_batch_size {512}
 
std::unordered_map< std::string, std::string > headers
 
bool compression_enabled {true}
 
std::string compression_type {"gzip"}
 

Detailed Description

Configuration for OpenTelemetry exporters.

Definition at line 345 of file opentelemetry_adapter.h.

Member Function Documentation

◆ validate()

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

Definition at line 355 of file opentelemetry_adapter.h.

355 {
356 if (endpoint.empty()) {
357 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
358 "Exporter endpoint cannot be empty", "monitoring_system").to_common_error());
359 }
360 if (protocol != "grpc" && protocol != "http/protobuf" && protocol != "http/json") {
361 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
362 "Invalid protocol: " + protocol, "monitoring_system").to_common_error());
363 }
364 if (timeout <= std::chrono::milliseconds(0)) {
365 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
366 "Timeout must be positive", "monitoring_system").to_common_error());
367 }
368 if (max_batch_size == 0) {
369 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
370 "Batch size must be positive", "monitoring_system").to_common_error());
371 }
372 return common::ok();
373 }

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

Referenced by TEST_F().

Here is the caller graph for this function:

Member Data Documentation

◆ compression_enabled

bool kcenon::monitoring::opentelemetry_exporter_config::compression_enabled {true}

Definition at line 352 of file opentelemetry_adapter.h.

352{true};

◆ compression_type

std::string kcenon::monitoring::opentelemetry_exporter_config::compression_type {"gzip"}

Definition at line 353 of file opentelemetry_adapter.h.

353{"gzip"};

◆ endpoint

std::string kcenon::monitoring::opentelemetry_exporter_config::endpoint {"http://localhost:4317"}

Definition at line 346 of file opentelemetry_adapter.h.

346{"http://localhost:4317"};

Referenced by TEST_F(), and validate().

◆ export_interval

std::chrono::milliseconds kcenon::monitoring::opentelemetry_exporter_config::export_interval {5000}

Definition at line 349 of file opentelemetry_adapter.h.

349{5000};

◆ headers

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

Definition at line 351 of file opentelemetry_adapter.h.

◆ max_batch_size

std::size_t kcenon::monitoring::opentelemetry_exporter_config::max_batch_size {512}

Definition at line 350 of file opentelemetry_adapter.h.

350{512};

Referenced by TEST_F(), and validate().

◆ protocol

std::string kcenon::monitoring::opentelemetry_exporter_config::protocol {"grpc"}

Definition at line 347 of file opentelemetry_adapter.h.

347{"grpc"}; // grpc, http/protobuf, http/json

Referenced by TEST_F(), and validate().

◆ timeout

std::chrono::milliseconds kcenon::monitoring::opentelemetry_exporter_config::timeout {30000}

Definition at line 348 of file opentelemetry_adapter.h.

348{30000};

Referenced by TEST_F(), and validate().


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