Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
platform_metrics_collector.h File Reference

Unified platform-agnostic metrics collector. More...

#include <chrono>
#include <cstdint>
#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
#include "../interfaces/metric_types_adapter.h"
#include "../plugins/collector_plugin.h"
#include "collector_base.h"
Include dependency graph for platform_metrics_collector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::monitoring::platform_info
 Platform identification information. More...
 
struct  kcenon::monitoring::platform_uptime
 Platform uptime information. More...
 
struct  kcenon::monitoring::platform_context_switches
 Platform context switch statistics. More...
 
struct  kcenon::monitoring::platform_tcp_info
 Platform TCP connection state information. More...
 
struct  kcenon::monitoring::platform_socket_info
 Platform socket buffer statistics. More...
 
struct  kcenon::monitoring::platform_interrupt_info
 Platform interrupt statistics. More...
 
struct  kcenon::monitoring::platform_metrics_config
 Configuration for platform metrics collection. More...
 
struct  kcenon::monitoring::platform_metrics
 Combined platform-level metrics. More...
 
class  kcenon::monitoring::platform_info_collector
 Platform data collector using platform abstraction layer. More...
 
class  kcenon::monitoring::platform_metrics_collector
 Unified platform-agnostic metrics collector. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::monitoring
 
namespace  kcenon::monitoring::platform
 

Detailed Description

Unified platform-agnostic metrics collector.

This file provides a unified collector for platform information and platform-specific metrics using the Strategy pattern. It abstracts away platform differences through the metrics_provider interface.

Architecture:

  • Uses metrics_provider (Strategy pattern) for platform-specific implementations
  • Factory method (metrics_provider::create()) handles platform detection
  • No #ifdef guards in this header - all platform logic is encapsulated

Provides:

  • Platform identification (name, version)
  • Uptime metrics
  • Context switch statistics
  • Socket/TCP state metrics
  • Interrupt statistics

Part of #389 - Collector consolidation initiative

Definition in file platform_metrics_collector.h.