Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
builtin_collectors.h
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2021-2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
5#pragma once
6
28#include "collector_adapters.h"
30
31// Include all collector headers
42
43namespace kcenon::monitoring {
44
71 bool all_success = true;
72 auto& registry = collector_registry::instance();
73
74 // Register plugin-based collectors with collector_registry for runtime plugin management
75 // (Only collectors that implement collector_plugin interface)
76 registry.register_factory<battery_collector>("battery_collector");
77 registry.register_factory<uptime_collector>("uptime_collector");
78 registry.register_factory<interrupt_collector>("interrupt_collector");
79 registry.register_factory<network_metrics_collector>("network_metrics_collector");
80 registry.register_factory<platform_metrics_collector>("platform_metrics_collector");
81 registry.register_factory<process_metrics_collector>("process_metrics_collector");
82 registry.register_factory<security_collector>("security_collector");
83 registry.register_factory<smart_collector>("smart_collector");
84 registry.register_factory<vm_collector>("vm_collector");
85
86 // Also register all collectors with metric_factory for backward compatibility
87 all_success &= register_plugin_collector<battery_collector>("battery_collector");
88 all_success &= register_plugin_collector<uptime_collector>("uptime_collector");
89 all_success &= register_plugin_collector<interrupt_collector>("interrupt_collector");
90 all_success &= register_plugin_collector<network_metrics_collector>("network_metrics_collector");
91 all_success &= register_plugin_collector<platform_metrics_collector>("platform_metrics_collector");
92 all_success &= register_plugin_collector<process_metrics_collector>("process_metrics_collector");
93 all_success &= register_plugin_collector<security_collector>("security_collector");
94 all_success &= register_plugin_collector<smart_collector>("smart_collector");
95 all_success &= register_plugin_collector<vm_collector>("vm_collector");
96 all_success &= register_standalone_collector<system_resource_collector>("system_resource_collector");
97
98 return all_success;
99}
100
105inline std::vector<std::string> get_builtin_collector_names() {
106 return {"battery_collector",
107 "uptime_collector",
108 "interrupt_collector",
109 "network_metrics_collector",
110 "platform_metrics_collector",
111 "process_metrics_collector",
112 "security_collector",
113 "smart_collector",
114 "vm_collector",
115 "system_resource_collector"};
116}
117
118} // namespace kcenon::monitoring
Battery status monitoring collector.
Battery status monitoring collector implementing collector_plugin interface.
static auto instance() -> collector_registry &
Get the singleton instance.
Hardware and software interrupt statistics monitoring collector.
Unified network metrics collector implementing collector_plugin interface.
Unified platform-agnostic metrics collector.
Unified process-level metrics collector.
Security event monitoring collector.
System uptime monitoring collector implementing collector_plugin interface.
Virtualization metrics monitoring collector.
Adapters to connect existing collectors to collector_interface.
Registry for managing collector plugin lifecycle.
Hardware and software interrupt statistics monitoring collector.
std::vector< std::string > get_builtin_collector_names()
Get list of all built-in collector names.
bool register_standalone_collector(const std::string &name)
Helper function to register a standalone collector.
bool register_plugin_collector(const std::string &name)
Helper function to register a plugin-based collector.
bool register_builtin_collectors()
Register all built-in collectors with the collector_registry.
Unified network metrics collector for socket buffers and TCP states.
Unified platform-agnostic metrics collector.
Unified process-level metrics collector.
Security event monitoring collector.
S.M.A.R.T. disk health monitoring collector.
System resource collector for CPU, memory, and disk metrics.
System uptime monitoring collector.
Virtualization metrics collector.