|
PACS System 0.1.0
PACS DICOM system library
|
Comprehensive health status of the PACS system. More...
#include <health_status.h>

Public Member Functions | |
| void | update_level () noexcept |
| Calculate overall health level from component status. | |
| bool | is_healthy () const noexcept |
| Check if the system is healthy. | |
| bool | is_operational () const noexcept |
| Check if the system is at least operational. | |
Public Attributes | |
| health_level | level {health_level::unhealthy} |
| Overall health level. | |
| std::chrono::system_clock::time_point | timestamp |
| Timestamp of this health check. | |
| database_status | database |
| Database connection status. | |
| storage_status | storage |
| Storage subsystem status. | |
| association_metrics | associations |
| DICOM association metrics. | |
| storage_metrics | metrics |
| Storage operation metrics. | |
| version_info | version |
| Version and uptime information. | |
| std::optional< std::string > | message |
| Optional human-readable status message. | |
Comprehensive health status of the PACS system.
This struct aggregates all component health information into a single data structure suitable for health check endpoints and monitoring systems.
Thread Safety: Read operations are thread-safe. Write operations require external synchronization.
Definition at line 213 of file health_status.h.
|
inlinenodiscardnoexcept |
Check if the system is healthy.
Definition at line 277 of file health_status.h.
References kcenon::pacs::monitoring::healthy, and level.
|
inlinenodiscardnoexcept |
Check if the system is at least operational.
Definition at line 285 of file health_status.h.
References level, and kcenon::pacs::monitoring::unhealthy.
|
inlinenoexcept |
Calculate overall health level from component status.
Health level determination:
Definition at line 247 of file health_status.h.
References kcenon::pacs::monitoring::association_metrics::active_associations, associations, kcenon::pacs::monitoring::database_status::connected, database, kcenon::pacs::monitoring::degraded, kcenon::pacs::monitoring::healthy, level, kcenon::pacs::monitoring::association_metrics::max_associations, kcenon::pacs::monitoring::storage_status::readable, storage, kcenon::pacs::monitoring::unhealthy, kcenon::pacs::monitoring::storage_status::usage_percent(), and kcenon::pacs::monitoring::storage_status::writable.

| association_metrics kcenon::pacs::monitoring::health_status::associations |
DICOM association metrics.
Definition at line 228 of file health_status.h.
Referenced by update_level().
| database_status kcenon::pacs::monitoring::health_status::database |
Database connection status.
Definition at line 222 of file health_status.h.
Referenced by update_level().
| health_level kcenon::pacs::monitoring::health_status::level {health_level::unhealthy} |
Overall health level.
Definition at line 215 of file health_status.h.
Referenced by kcenon::pacs::monitoring::health_checker::health_checker(), is_healthy(), is_operational(), and update_level().
| std::optional<std::string> kcenon::pacs::monitoring::health_status::message |
Optional human-readable status message.
Definition at line 237 of file health_status.h.
Referenced by kcenon::pacs::monitoring::health_checker::health_checker().
| storage_metrics kcenon::pacs::monitoring::health_status::metrics |
Storage operation metrics.
Definition at line 231 of file health_status.h.
| storage_status kcenon::pacs::monitoring::health_status::storage |
Storage subsystem status.
Definition at line 225 of file health_status.h.
Referenced by update_level().
| std::chrono::system_clock::time_point kcenon::pacs::monitoring::health_status::timestamp |
Timestamp of this health check.
Definition at line 218 of file health_status.h.
| version_info kcenon::pacs::monitoring::health_status::version |
Version and uptime information.
Definition at line 234 of file health_status.h.