|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
Hardware temperature monitoring collector implementing collector_plugin interface. More...
#include <temperature_collector.h>


Public Member Functions | |
| temperature_collector () | |
| ~temperature_collector () override=default | |
| temperature_collector (const temperature_collector &)=delete | |
| temperature_collector & | operator= (const temperature_collector &)=delete |
| temperature_collector (temperature_collector &&)=delete | |
| temperature_collector & | operator= (temperature_collector &&)=delete |
| auto | name () const -> std::string_view override |
| Get the unique name of this plugin. | |
| auto | collect () -> std::vector< metric > override |
| Collect current metrics from this plugin. | |
| auto | interval () const -> std::chrono::milliseconds override |
| Get the collection interval for this plugin. | |
| auto | is_available () const -> bool override |
| Check if this plugin is available on the current system. | |
| auto | get_metric_types () const -> std::vector< std::string > override |
| Get supported metric types. | |
| auto | get_metadata () const -> plugin_metadata override |
| Get plugin metadata. | |
| auto | initialize (const config_map &config) -> bool override |
| Initialize plugin with configuration. | |
| void | shutdown () override |
| Shutdown plugin and release resources. | |
| auto | get_statistics () const -> stats_map override |
| Get plugin statistics. | |
| std::vector< temperature_reading > | get_last_readings () const |
| bool | is_thermal_available () const |
Public Member Functions inherited from kcenon::monitoring::collector_plugin | |
| virtual | ~collector_plugin ()=default |
Private Member Functions | |
| metric | create_metric (const std::string &name, double value, const temperature_reading &reading, const std::string &unit="") const |
| void | add_sensor_metrics (std::vector< metric > &metrics, const temperature_reading &reading) |
Private Attributes | |
| std::unique_ptr< temperature_info_collector > | collector_ |
| bool | enabled_ {true} |
| bool | collect_thresholds_ {true} |
| bool | collect_warnings_ {true} |
| std::mutex | stats_mutex_ |
| std::atomic< size_t > | collection_count_ {0} |
| std::atomic< size_t > | collection_errors_ {0} |
| std::atomic< size_t > | sensors_found_ {0} |
| std::vector< temperature_reading > | last_readings_ |
Hardware temperature monitoring collector implementing collector_plugin interface.
Collects hardware temperature data from available thermal sensors with cross-platform support. Gracefully degrades when sensors are not available or when read access is restricted.
Definition at line 148 of file temperature_collector.h.
| kcenon::monitoring::temperature_collector::temperature_collector | ( | ) |
|
overridedefault |
|
delete |
|
delete |
|
private |
|
overridevirtual |
Collect current metrics from this plugin.
This method is called periodically based on interval(). Implementations should:
Implements kcenon::monitoring::collector_plugin.
|
private |
| std::vector< temperature_reading > kcenon::monitoring::temperature_collector::get_last_readings | ( | ) | const |
Get last collected temperature readings
|
inlineoverridevirtual |
Get plugin metadata.
Default implementation returns minimal metadata. Override to provide rich plugin information.
Reimplemented from kcenon::monitoring::collector_plugin.
Definition at line 166 of file temperature_collector.h.
References kcenon::monitoring::hardware, and name().

|
overridevirtual |
Get supported metric types.
Used for filtering and documentation.
Implements kcenon::monitoring::collector_plugin.
|
overridevirtual |
Get plugin statistics.
Optional: Override to provide plugin-specific statistics.
Reimplemented from kcenon::monitoring::collector_plugin.
|
overridevirtual |
Initialize plugin with configuration.
| config | Configuration key-value pairs |
Called once after plugin registration. Optional: Default implementation always succeeds.
Reimplemented from kcenon::monitoring::collector_plugin.
|
inlineoverridevirtual |
Get the collection interval for this plugin.
The registry uses this value to schedule collection tasks. Typical values:
Implements kcenon::monitoring::collector_plugin.
Definition at line 162 of file temperature_collector.h.
|
overridevirtual |
Check if this plugin is available on the current system.
Availability checks may include:
The registry may skip unavailable plugins during registration.
Implements kcenon::monitoring::collector_plugin.
| bool kcenon::monitoring::temperature_collector::is_thermal_available | ( | ) | const |
Check if temperature monitoring is available
|
inlineoverridevirtual |
Get the unique name of this plugin.
The name is used for:
Implements kcenon::monitoring::collector_plugin.
Definition at line 160 of file temperature_collector.h.
Referenced by get_metadata().

|
delete |
|
delete |
|
inlineoverridevirtual |
Shutdown plugin and release resources.
Called before plugin destruction. Optional: Default implementation is no-op.
Reimplemented from kcenon::monitoring::collector_plugin.
Definition at line 178 of file temperature_collector.h.
|
private |
Definition at line 198 of file temperature_collector.h.
|
private |
Definition at line 199 of file temperature_collector.h.
|
private |
Definition at line 203 of file temperature_collector.h.
|
private |
Definition at line 204 of file temperature_collector.h.
|
private |
Definition at line 194 of file temperature_collector.h.
|
private |
Definition at line 197 of file temperature_collector.h.
|
private |
Definition at line 206 of file temperature_collector.h.
|
private |
Definition at line 205 of file temperature_collector.h.
|
mutableprivate |
Definition at line 202 of file temperature_collector.h.