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

C++20 concepts for monitoring system types. More...

#include <concepts>
#include <functional>
#include <memory>
#include <string>
#include <type_traits>
#include <vector>
#include "../config/feature_flags.h"
Include dependency graph for monitoring_concepts.h:

Go to the source code of this file.

Namespaces

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

Concepts

concept  kcenon::monitoring::concepts::MetricValue
 A type that can be used as a metric value.
 
concept  kcenon::monitoring::concepts::MetricType
 A type that can be used as a metric in the monitoring system.
 
concept  kcenon::monitoring::concepts::MetricSourceLike
 A type that can provide metrics.
 
concept  kcenon::monitoring::concepts::MetricCollectorLike
 A type that can collect metrics from sources.
 
concept  kcenon::monitoring::concepts::ObserverLike
 A type that can observe metric updates.
 
concept  kcenon::monitoring::concepts::MonitoringEventType
 A type that can be used as a monitoring event.
 
concept  kcenon::monitoring::concepts::MonitoringEventHandler
 A callable that can handle monitoring events.
 
concept  kcenon::monitoring::concepts::MetricFilterPredicate
 A callable that filters metrics based on criteria.
 
concept  kcenon::monitoring::concepts::MetricTransformer
 A callable that transforms metrics.
 
concept  kcenon::monitoring::concepts::ConfigValidatable
 A configuration type that supports validation.
 
concept  kcenon::monitoring::concepts::StorageBackendLike
 A type that can store metrics data.
 
concept  kcenon::monitoring::concepts::ExporterLike
 A type that can export metrics to external systems.
 
concept  kcenon::monitoring::concepts::HealthCheckable
 A type that supports health checking.
 
concept  kcenon::monitoring::concepts::TracingContextLike
 A type that represents a tracing context.
 

Detailed Description

C++20 concepts for monitoring system types.

This header provides concepts for validating metric types, collectors, event handlers, and observers used in the monitoring system. These concepts leverage common_system's concept definitions while adding monitoring-specific constraints.

Requirements:

  • C++20 compiler with concepts support
  • GCC 10+, Clang 10+, MSVC 2022+

Thread Safety:

  • Concepts are evaluated at compile-time only.
  • No runtime thread-safety considerations apply.
See also
kcenon/common/concepts/concepts.h for common_system concepts

Definition in file monitoring_concepts.h.