PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::monitoring Namespace Reference

Classes

struct  association_counters
 Metrics for tracking DICOM association lifecycle. More...
 
struct  association_metric
 Standard metric structure for association data. More...
 
struct  association_metrics
 DICOM association statistics. More...
 
struct  data_transfer_metrics
 Metrics for tracking data transfer volumes. More...
 
struct  database_status
 Database connection health information. More...
 
class  dicom_association_collector
 Collector for DICOM association lifecycle metrics. More...
 
class  dicom_collector_base
 CRTP base class for DICOM metric collectors. More...
 
struct  dicom_metric
 Standard metric structure for DICOM data. More...
 
class  dicom_metrics_collector
 CRTP-based unified DICOM metrics collector. More...
 
struct  dicom_metrics_snapshot
 Snapshot of all DICOM metrics at a point in time. More...
 
class  dicom_service_collector
 Collector for DICOM DIMSE service operation metrics. More...
 
class  dicom_storage_collector
 Collector for DICOM storage and data transfer metrics. More...
 
struct  health_check_result
 Result of a health check operation. More...
 
class  health_checker
 Performs comprehensive health checks on PACS system components. More...
 
struct  health_checker_config
 Configuration options for the health checker. More...
 
struct  health_status
 Comprehensive health status of the PACS system. More...
 
struct  metric_value
 Standard metric value structure with type information. More...
 
struct  metrics_snapshot
 Complete snapshot of metrics at a point in time. More...
 
struct  operation_counter
 Atomic counter for tracking operation success/failure counts. More...
 
class  pacs_metrics
 Central metrics collection for PACS DICOM operations. More...
 
class  pacs_monitor
 Unified PACS monitoring implementing IMonitor interface. More...
 
struct  pacs_monitor_config
 Configuration for the PACS monitor. More...
 
struct  pool_counters
 Metrics for tracking object pool usage. More...
 
struct  service_metric
 Standard metric structure for DIMSE service data. More...
 
struct  storage_metric
 Standard metric structure for storage data. More...
 
struct  storage_metrics
 DICOM storage operation statistics. More...
 
struct  storage_status
 Storage subsystem health information. More...
 
struct  version_info
 PACS system version information. More...
 

Typedefs

using config_map = std::unordered_map<std::string, std::string>
 Type alias for configuration map.
 
using stats_map = std::unordered_map<std::string, double>
 Type alias for statistics map.
 

Enumerations

enum class  health_level { healthy , degraded , unhealthy }
 Overall health level indicator. More...
 
enum class  dimse_operation {
  c_echo , c_store , c_find , c_move ,
  c_get , n_create , n_set , n_get ,
  n_action , n_event , n_delete
}
 DICOM Message Service Element (DIMSE) operation types. More...
 
enum class  metric_type { gauge , counter , histogram , summary }
 Types of metrics supported by the monitoring system. More...
 
enum class  monitor_health_status { healthy = 0 , degraded = 1 , unhealthy = 2 , unknown = 3 }
 Standard health status levels. More...
 

Functions

constexpr std::string_view to_string (health_level level) noexcept
 Convert health level to string representation.
 
constexpr std::string_view to_string (dimse_operation op) noexcept
 Convert DIMSE operation to string representation.
 
std::string to_string (metric_type type)
 Convert metric type to string.
 

Typedef Documentation

◆ config_map

using kcenon::pacs::monitoring::config_map = std::unordered_map<std::string, std::string>

Type alias for configuration map.

Definition at line 34 of file dicom_collector_base.h.

◆ stats_map

using kcenon::pacs::monitoring::stats_map = std::unordered_map<std::string, double>

Type alias for statistics map.

Definition at line 39 of file dicom_collector_base.h.

Enumeration Type Documentation

◆ dimse_operation

DICOM Message Service Element (DIMSE) operation types.

Represents the different DIMSE operations that can be tracked by the metrics system. These correspond to the standard DICOM network services.

Enumerator
c_echo 

C-ECHO (Verification Service)

c_store 

C-STORE (Storage Service)

c_find 

C-FIND (Query Service)

c_move 

C-MOVE (Retrieve Service)

c_get 

C-GET (Retrieve Service)

n_create 

N-CREATE (MPPS)

n_set 

N-SET (MPPS)

n_get 

N-GET.

n_action 

N-ACTION.

n_event 

N-EVENT-REPORT.

n_delete 

N-DELETE.

Definition at line 40 of file pacs_metrics.h.

◆ health_level

Overall health level indicator.

Represents the aggregated health status of the system based on individual component checks.

Enumerator
healthy 

All components healthy, system fully operational.

degraded 

Some non-critical components degraded, system operational.

unhealthy 

Critical components failing, system may not function correctly.

Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/monitoring/health_status.h.

Definition at line 36 of file health_status.h.

36 {
38 healthy,
39
42
45};
@ healthy
All components healthy, system fully operational.
@ degraded
Some non-critical components degraded, system operational.
@ unhealthy
Critical components failing, system may not function correctly.

◆ metric_type

Types of metrics supported by the monitoring system.

Enumerator
gauge 

Instant value that can go up or down.

counter 

Monotonic increasing value.

histogram 

Distribution of values across buckets.

summary 

Statistical summary (min, max, mean, percentiles)

Definition at line 48 of file pacs_monitor.h.

48 {
49 gauge,
50 counter,
51 histogram,
52 summary
53};
@ gauge
Instant value that can go up or down.
@ counter
Monotonic increasing value.
@ summary
Statistical summary (min, max, mean, percentiles)
@ histogram
Distribution of values across buckets.

◆ monitor_health_status

Standard health status levels.

Enumerator
healthy 
degraded 
unhealthy 
unknown 
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/monitoring/pacs_monitor.h.

Definition at line 120 of file pacs_monitor.h.

120 {
121 healthy = 0,
122 degraded = 1,
123 unhealthy = 2,
124 unknown = 3
125};

Function Documentation

◆ to_string() [1/3]

std::string_view kcenon::pacs::monitoring::to_string ( dimse_operation op)
nodiscardconstexprnoexcept

Convert DIMSE operation to string representation.

Parameters
opThe DIMSE operation to convert
Returns
String representation (e.g., "c_echo", "c_store")

Definition at line 59 of file pacs_metrics.h.

59 {
60 switch (op) {
61 case dimse_operation::c_echo:
62 return "c_echo";
63 case dimse_operation::c_store:
64 return "c_store";
65 case dimse_operation::c_find:
66 return "c_find";
67 case dimse_operation::c_move:
68 return "c_move";
69 case dimse_operation::c_get:
70 return "c_get";
71 case dimse_operation::n_create:
72 return "n_create";
73 case dimse_operation::n_set:
74 return "n_set";
75 case dimse_operation::n_get:
76 return "n_get";
77 case dimse_operation::n_action:
78 return "n_action";
79 case dimse_operation::n_event:
80 return "n_event";
81 case dimse_operation::n_delete:
82 return "n_delete";
83 default:
84 return "unknown";
85 }
86}

References c_echo, c_find, c_get, c_move, c_store, n_action, n_create, n_delete, n_event, n_get, and n_set.

◆ to_string() [2/3]

std::string_view kcenon::pacs::monitoring::to_string ( health_level level)
nodiscardconstexprnoexcept

Convert health level to string representation.

Parameters
levelThe health level to convert
Returns
String representation ("healthy", "degraded", "unhealthy")
Examples
/home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/monitoring/collectors/dicom_service_collector.h, /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/monitoring/health_status.h, /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/monitoring/pacs_metrics.h, and /home/runner/work/pacs_system/pacs_system/include/kcenon/pacs/monitoring/pacs_monitor.h.

Definition at line 52 of file health_status.h.

52 {
53 switch (level) {
54 case health_level::healthy:
55 return "healthy";
56 case health_level::degraded:
57 return "degraded";
58 case health_level::unhealthy:
59 return "unhealthy";
60 default:
61 return "unknown";
62 }
63}

References degraded, healthy, and unhealthy.

Referenced by kcenon::pacs::monitoring::dicom_service_collector::collect_operation_metrics(), and kcenon::pacs::monitoring::dicom_service_collector::get_metric_types().

Here is the caller graph for this function:

◆ to_string() [3/3]

std::string kcenon::pacs::monitoring::to_string ( metric_type type)
inlinenodiscard

Convert metric type to string.

Definition at line 58 of file pacs_monitor.h.

58 {
59 switch (type) {
60 case metric_type::gauge:
61 return "gauge";
62 case metric_type::counter:
63 return "counter";
64 case metric_type::histogram:
65 return "histogram";
66 case metric_type::summary:
67 return "summary";
68 default:
69 return "unknown";
70 }
71}

References counter, gauge, histogram, and summary.