|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
Resource exhaustion handling strategies and limits. More...
#include <atomic>#include <chrono>#include <functional>#include <memory>#include <mutex>#include <string>#include <unordered_map>#include "kcenon/monitoring/core/result_types.h"

Go to the source code of this file.
Classes | |
| struct | kcenon::monitoring::resource_metrics |
| Metrics for resource usage tracking. More... | |
| struct | kcenon::monitoring::rate_limit_config |
| Configuration for rate limiting. More... | |
| struct | kcenon::monitoring::resource_quota |
| Configuration for resource quotas. More... | |
| struct | kcenon::monitoring::cpu_throttle_config |
| Configuration for CPU throttling. More... | |
| class | kcenon::monitoring::rate_limiter |
| Base interface for rate limiters. More... | |
| class | kcenon::monitoring::token_bucket_limiter |
| Token bucket rate limiter implementation. More... | |
| class | kcenon::monitoring::leaky_bucket_limiter |
| Leaky bucket rate limiter implementation. More... | |
| class | kcenon::monitoring::memory_quota_manager |
| Manages memory quota with tracking and throttling. More... | |
| class | kcenon::monitoring::cpu_throttler |
| Throttles operations based on CPU usage. More... | |
| class | kcenon::monitoring::resource_manager |
| Coordinates multiple resource management components. More... | |
Namespaces | |
| namespace | kcenon |
| namespace | kcenon::monitoring |
Enumerations | |
| enum class | kcenon::monitoring::throttling_strategy { kcenon::monitoring::reject , kcenon::monitoring::delay } |
| Strategy for handling resource exhaustion. More... | |
| enum class | kcenon::monitoring::resource_type { kcenon::monitoring::memory , kcenon::monitoring::cpu } |
| Type of resource being managed. More... | |
Functions | |
| std::unique_ptr< token_bucket_limiter > | kcenon::monitoring::create_token_bucket_limiter (const std::string &name, double rate, size_t capacity, throttling_strategy strategy=throttling_strategy::reject) |
| Create a token bucket rate limiter. | |
| std::unique_ptr< leaky_bucket_limiter > | kcenon::monitoring::create_leaky_bucket_limiter (const std::string &name, double rate, size_t capacity) |
| Create a leaky bucket rate limiter. | |
| std::unique_ptr< memory_quota_manager > | kcenon::monitoring::create_memory_quota_manager (const std::string &name, size_t max_bytes, throttling_strategy strategy=throttling_strategy::reject) |
| Create a memory quota manager. | |
| std::unique_ptr< resource_manager > | kcenon::monitoring::create_resource_manager (const std::string &name) |
| Create a resource manager. | |
Resource exhaustion handling strategies and limits.
Definition in file resource_manager.h.