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

Abstract interface for metric collection components. More...

#include <algorithm>
#include <chrono>
#include <concepts>
#include <functional>
#include <memory>
#include <string>
#include <type_traits>
#include <vector>
#include "../core/result_types.h"
#include "../config/feature_flags.h"
#include "metric_types_adapter.h"
#include "observer_interface.h"
Include dependency graph for metric_collector_interface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kcenon::monitoring::metric_filter
 Filter configuration for metric collection. More...
 
class  kcenon::monitoring::collection_config
 Configuration for metric collection. More...
 
class  kcenon::monitoring::interface_metric_collector
 Pure virtual interface for metric collectors. More...
 
class  kcenon::monitoring::interface_metric_source
 Interface for components that provide metrics. More...
 
class  kcenon::monitoring::interface_aggregated_collector
 Interface for collectors that aggregate metrics from multiple sources. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::monitoring
 
namespace  kcenon::monitoring::concepts
 

Concepts

concept  kcenon::monitoring::concepts::Validatable
 A type that can validate its own state.
 
concept  kcenon::monitoring::concepts::MetricSourceLike
 A type that can provide metrics.
 
concept  kcenon::monitoring::concepts::MetricCollectorLike
 A type that can collect metrics from sources.
 

Detailed Description

Abstract interface for metric collection components.

This file defines the interface for components that collect metrics from various sources and publish them to observers.

C++20 Concepts are used to provide compile-time validation with clear error messages for configuration types and collectors.

Definition in file metric_collector_interface.h.