Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::interfaces::health_check Interface Referenceabstract

Abstract base class for health checks. More...

#include <health_check.h>

Inheritance diagram for kcenon::common::interfaces::health_check:
Inheritance graph
Collaboration diagram for kcenon::common::interfaces::health_check:
Collaboration graph

Public Member Functions

 health_check ()=default
 
virtual ~health_check ()=default
 
 health_check (const health_check &)=delete
 
health_checkoperator= (const health_check &)=delete
 
 health_check (health_check &&)=delete
 
health_checkoperator= (health_check &&)=delete
 
virtual std::string get_name () const =0
 Get the unique name of this health check.
 
virtual health_check_type get_type () const =0
 Get the type of this health check.
 
virtual health_check_result check ()=0
 Perform the health check.
 
virtual std::chrono::milliseconds get_timeout () const
 Get timeout duration for this health check.
 
virtual bool is_critical () const
 Check if this health check is critical.
 

Detailed Description

Abstract base class for health checks.

This class defines the contract for health check implementations. Subclasses should implement the check() method to perform their specific health verification logic.

Example usage:

class database_health_check : public health_check {
public:
std::string get_name() const override { return "database"; }
health_check_result check() override {
// Check database connectivity
health_check_result result;
if (db_connection_->is_connected()) {
result.status = health_status::healthy;
result.message = "Database connection OK";
} else {
result.status = health_status::unhealthy;
result.message = "Database connection failed";
}
return result;
}
};
Abstract base class for health checks.
virtual health_check_type get_type() const =0
Get the type of this health check.
virtual health_check_result check()=0
Perform the health check.
virtual std::string get_name() const =0
Get the unique name of this health check.
health_check_type
Types of health checks supported by the system.
Examples
health_check_example.cpp.

Definition at line 105 of file health_check.h.

Constructor & Destructor Documentation

◆ health_check() [1/3]

kcenon::common::interfaces::health_check::health_check ( )
default

◆ ~health_check()

virtual kcenon::common::interfaces::health_check::~health_check ( )
virtualdefault

◆ health_check() [2/3]

kcenon::common::interfaces::health_check::health_check ( const health_check & )
delete

◆ health_check() [3/3]

kcenon::common::interfaces::health_check::health_check ( health_check && )
delete

Member Function Documentation

◆ check()

virtual health_check_result kcenon::common::interfaces::health_check::check ( )
pure virtual

Perform the health check.

Returns
Health check result containing status and details

Implemented in app_liveness_check, cache_readiness_check, database_dependency_check, kcenon::common::interfaces::composite_health_check, and kcenon::common::interfaces::lambda_health_check.

◆ get_name()

virtual std::string kcenon::common::interfaces::health_check::get_name ( ) const
nodiscardpure virtual

◆ get_timeout()

virtual std::chrono::milliseconds kcenon::common::interfaces::health_check::get_timeout ( ) const
inlinenodiscardvirtual

Get timeout duration for this health check.

Returns
Timeout duration (default: 5 seconds)

Implemented in cache_readiness_check, and kcenon::common::interfaces::lambda_health_check.

Definition at line 137 of file health_check.h.

137 {
138 return std::chrono::milliseconds{5000};
139 }

◆ get_type()

virtual health_check_type kcenon::common::interfaces::health_check::get_type ( ) const
nodiscardpure virtual

◆ is_critical()

virtual bool kcenon::common::interfaces::health_check::is_critical ( ) const
inlinenodiscardvirtual

Check if this health check is critical.

Critical health checks affect the overall system health status. Non-critical checks are reported but don't impact system health.

Returns
true if this is a critical health check

Implemented in app_liveness_check, cache_readiness_check, database_dependency_check, kcenon::common::interfaces::composite_health_check, and kcenon::common::interfaces::lambda_health_check.

Definition at line 149 of file health_check.h.

149{ return true; }

◆ operator=() [1/2]

health_check & kcenon::common::interfaces::health_check::operator= ( const health_check & )
delete

◆ operator=() [2/2]

health_check & kcenon::common::interfaces::health_check::operator= ( health_check && )
delete

The documentation for this interface was generated from the following file: