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

Service priority levels and graceful degradation strategies. More...

#include "error_boundary.h"
#include <any>
#include <atomic>
#include <chrono>
#include <functional>
#include <memory>
#include <mutex>
#include <string>
#include <unordered_map>
#include <vector>
Include dependency graph for graceful_degradation.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::monitoring::graceful_degradation_metrics
 Graceful degradation metrics. More...
 
struct  kcenon::monitoring::service_config
 Service configuration for graceful degradation. More...
 
struct  kcenon::monitoring::degradation_plan
 Degradation plan for coordinated service degradation. More...
 
struct  kcenon::monitoring::service_state
 Service state tracking. More...
 
class  kcenon::monitoring::graceful_degradation_manager
 Graceful degradation manager. More...
 
class  kcenon::monitoring::degradable_service< T >
 Degradable service wrapper. More...
 
class  kcenon::monitoring::error_boundary_registry
 Error boundary registry for managing multiple boundaries. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::monitoring
 

Enumerations

enum class  kcenon::monitoring::service_priority { kcenon::monitoring::optional = 0 , kcenon::monitoring::normal = 1 , kcenon::monitoring::important = 2 , kcenon::monitoring::critical = 3 }
 Service priority levels. More...
 

Functions

error_boundary_registrykcenon::monitoring::global_error_boundary_registry ()
 Get global error boundary registry.
 
std::shared_ptr< graceful_degradation_managerkcenon::monitoring::create_degradation_manager (const std::string &name)
 Create a graceful degradation manager.
 
service_config kcenon::monitoring::create_service_config (const std::string &name, service_priority priority)
 Create a service configuration.
 
degradation_plan kcenon::monitoring::create_degradation_plan (const std::string &name, const std::vector< std::string > &maintain, const std::vector< std::string > &disable, degradation_level level)
 Create a degradation plan.
 
template<typename T >
std::shared_ptr< degradable_service< T > > kcenon::monitoring::create_degradable_service (const std::string &name, std::shared_ptr< graceful_degradation_manager > manager, typename degradable_service< T >::normal_operation normal_op, typename degradable_service< T >::degraded_operation degraded_op)
 Create a degradable service.
 

Detailed Description

Service priority levels and graceful degradation strategies.

Definition in file graceful_degradation.h.