|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
Example collector plugin that generates dummy metrics. More...


Public Member Functions | |
| example_plugin () | |
| auto | name () const -> std::string_view override |
| Get the unique name of this plugin. | |
| auto | initialize (const config_map &config) -> bool override |
| Initialize plugin with configuration. | |
| auto | shutdown () -> void override |
| Shutdown plugin and release resources. | |
| auto | collect () -> std::vector< metric_data > override |
| Collect current metrics from this plugin. | |
| auto | is_available () const -> bool override |
| Check if this plugin is available on the current system. | |
| auto | get_metadata () const -> plugin_metadata_t override |
| Get plugin metadata. | |
Public Member Functions inherited from kcenon::monitoring::collector_plugin | |
| virtual | ~collector_plugin ()=default |
| virtual auto | interval () const -> std::chrono::milliseconds=0 |
| Get the collection interval for this plugin. | |
| virtual auto | get_statistics () const -> stats_map |
| Get plugin statistics. | |
| virtual auto | get_metric_types () const -> std::vector< std::string >=0 |
| Get supported metric types. | |
Private Member Functions | |
| auto | generate_random_value (double min, double max) -> double |
Private Attributes | |
| bool | initialized_ {false} |
| uint64_t | request_counter_ {0} |
| std::mt19937 | generator_ |
Example collector plugin that generates dummy metrics.
Definition at line 34 of file example_plugin.cpp.
|
inline |
Definition at line 36 of file example_plugin.cpp.
|
inlineoverridevirtual |
Collect current metrics from this plugin.
This method is called periodically based on interval(). Implementations should:
Implements kcenon::monitoring::collector_plugin.
Definition at line 52 of file example_plugin.cpp.
References generate_random_value(), initialized_, and request_counter_.

|
inlineprivate |
Definition at line 106 of file example_plugin.cpp.
References generator_.
Referenced by collect().

|
inlineoverridevirtual |
Get plugin metadata.
Default implementation returns minimal metadata. Override to provide rich plugin information.
Reimplemented from kcenon::monitoring::collector_plugin.
Definition at line 95 of file example_plugin.cpp.
|
inlineoverridevirtual |
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.
Definition at line 42 of file example_plugin.cpp.
References initialized_.
|
inlineoverridevirtual |
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.
Definition at line 90 of file example_plugin.cpp.
|
inlineoverridevirtual |
Get the unique name of this plugin.
The name is used for:
Implements kcenon::monitoring::collector_plugin.
Definition at line 38 of file example_plugin.cpp.
|
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 48 of file example_plugin.cpp.
References initialized_.
|
private |
Definition at line 113 of file example_plugin.cpp.
Referenced by generate_random_value().
|
private |
Definition at line 111 of file example_plugin.cpp.
Referenced by collect(), initialize(), and shutdown().
|
private |
Definition at line 112 of file example_plugin.cpp.
Referenced by collect().