|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
Configuration for metric exporters. More...
#include <metric_exporters.h>

Public Member Functions | |
| common::VoidResult | validate () const |
| Validate export configuration. | |
Public Attributes | |
| std::string | endpoint |
| Endpoint URL or address. | |
| std::uint16_t | port = 0 |
| Port number (for UDP/TCP) | |
| metric_export_format | format = metric_export_format::prometheus_text |
| std::chrono::milliseconds | push_interval {15000} |
| Push interval for push-based systems. | |
| std::chrono::milliseconds | timeout {5000} |
| Request timeout. | |
| std::size_t | max_batch_size = 1000 |
| Maximum metrics per batch. | |
| std::size_t | max_queue_size = 10000 |
| Maximum queued metrics. | |
| bool | enable_compression = false |
| Enable data compression. | |
| std::unordered_map< std::string, std::string > | headers |
| Custom HTTP headers. | |
| std::unordered_map< std::string, std::string > | labels |
| Default labels/tags. | |
| std::string | job_name = "monitoring_system" |
| Prometheus job name. | |
| std::string | instance_id |
| Instance identifier. | |
Configuration for metric exporters.
Definition at line 76 of file metric_exporters.h.
|
inline |
Validate export configuration.
Definition at line 93 of file metric_exporters.h.
References endpoint, kcenon::monitoring::invalid_configuration, max_batch_size, max_queue_size, port, and push_interval.
Referenced by TEST_F().

| bool kcenon::monitoring::metric_export_config::enable_compression = false |
Enable data compression.
Definition at line 84 of file metric_exporters.h.
| std::string kcenon::monitoring::metric_export_config::endpoint |
Endpoint URL or address.
Definition at line 77 of file metric_exporters.h.
Referenced by kcenon::monitoring::create_otlp_metrics_exporter(), kcenon::monitoring::create_statsd_exporter(), kcenon::monitoring::statsd_exporter::send_udp_batch(), kcenon::monitoring::otlp_metrics_exporter::send_via_grpc(), kcenon::monitoring::otlp_metrics_exporter::send_via_http(), kcenon::monitoring::statsd_exporter::start(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and validate().
| metric_export_format kcenon::monitoring::metric_export_config::format = metric_export_format::prometheus_text |
Definition at line 79 of file metric_exporters.h.
Referenced by kcenon::monitoring::metric_exporter_factory::create_exporter(), kcenon::monitoring::create_otlp_metrics_exporter(), kcenon::monitoring::create_prometheus_exporter(), kcenon::monitoring::create_statsd_exporter(), kcenon::monitoring::statsd_exporter::export_metrics(), kcenon::monitoring::statsd_exporter::export_snapshot(), kcenon::monitoring::otlp_metrics_exporter::get_content_type(), kcenon::monitoring::otlp_metrics_exporter::is_grpc_protocol(), kcenon::monitoring::otlp_metrics_exporter::is_http_protocol(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
| std::unordered_map<std::string, std::string> kcenon::monitoring::metric_export_config::headers |
Custom HTTP headers.
Definition at line 85 of file metric_exporters.h.
Referenced by kcenon::monitoring::otlp_metrics_exporter::send_via_http().
| std::string kcenon::monitoring::metric_export_config::instance_id |
Instance identifier.
Definition at line 88 of file metric_exporters.h.
Referenced by kcenon::monitoring::prometheus_exporter::convert_monitoring_data(), kcenon::monitoring::statsd_exporter::convert_monitoring_data(), kcenon::monitoring::prometheus_exporter::convert_snapshot(), kcenon::monitoring::statsd_exporter::convert_snapshot(), TEST_F(), and TEST_F().
| std::string kcenon::monitoring::metric_export_config::job_name = "monitoring_system" |
Prometheus job name.
Definition at line 87 of file metric_exporters.h.
Referenced by kcenon::monitoring::create_prometheus_exporter().
| std::unordered_map<std::string, std::string> kcenon::monitoring::metric_export_config::labels |
Default labels/tags.
Definition at line 86 of file metric_exporters.h.
Referenced by kcenon::monitoring::prometheus_exporter::convert_monitoring_data(), kcenon::monitoring::statsd_exporter::convert_monitoring_data(), kcenon::monitoring::prometheus_exporter::convert_snapshot(), kcenon::monitoring::statsd_exporter::convert_snapshot(), TEST_F(), and TEST_F().
| std::size_t kcenon::monitoring::metric_export_config::max_batch_size = 1000 |
Maximum metrics per batch.
Definition at line 82 of file metric_exporters.h.
Referenced by TEST_F(), TEST_F(), and validate().
| std::size_t kcenon::monitoring::metric_export_config::max_queue_size = 10000 |
Maximum queued metrics.
Definition at line 83 of file metric_exporters.h.
Referenced by TEST_F(), and validate().
| std::uint16_t kcenon::monitoring::metric_export_config::port = 0 |
Port number (for UDP/TCP)
Definition at line 78 of file metric_exporters.h.
Referenced by kcenon::monitoring::create_prometheus_exporter(), kcenon::monitoring::create_statsd_exporter(), kcenon::monitoring::statsd_exporter::send_udp_batch(), kcenon::monitoring::otlp_metrics_exporter::send_via_grpc(), kcenon::monitoring::otlp_metrics_exporter::send_via_http(), kcenon::monitoring::statsd_exporter::start(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and validate().
| std::chrono::milliseconds kcenon::monitoring::metric_export_config::push_interval {15000} |
Push interval for push-based systems.
Definition at line 80 of file metric_exporters.h.
Referenced by TEST_F(), and validate().
| std::chrono::milliseconds kcenon::monitoring::metric_export_config::timeout {5000} |
Request timeout.
Definition at line 81 of file metric_exporters.h.
Referenced by kcenon::monitoring::otlp_metrics_exporter::send_via_grpc(), and kcenon::monitoring::otlp_metrics_exporter::send_via_http().