|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
Bridge for observability (logger + monitoring) integration implementing INetworkBridge. More...
#include <observability_bridge.h>


Public Types | |
| enum class | BackendType { CommonSystem , Standalone } |
| Type of observability backend. More... | |
Public Member Functions | |
| ObservabilityBridge (std::shared_ptr< logger_interface > logger, std::shared_ptr< monitoring_interface > monitor, BackendType backend_type=BackendType::Standalone) | |
| Construct bridge with logger and monitoring interfaces. | |
| ~ObservabilityBridge () override | |
| Destructor. | |
| VoidResult | initialize (const BridgeConfig &config) override |
| Initialize the bridge with configuration. | |
| VoidResult | shutdown () override |
| Shutdown the bridge. | |
| bool | is_initialized () const override |
| Check if the bridge is initialized. | |
| BridgeMetrics | get_metrics () const override |
| Get current metrics. | |
| std::shared_ptr< logger_interface > | get_logger () const |
| Get the logger interface. | |
| std::shared_ptr< monitoring_interface > | get_monitor () const |
| Get the monitoring interface. | |
| BackendType | get_backend_type () const |
| Get the backend type. | |
Public Member Functions inherited from kcenon::network::integration::INetworkBridge | |
| virtual | ~INetworkBridge ()=default |
Private Attributes | |
| std::shared_ptr< logger_interface > | logger_ |
| std::shared_ptr< monitoring_interface > | monitor_ |
| BackendType | backend_type_ |
| std::atomic< bool > | initialized_ {false} |
| std::mutex | metrics_mutex_ |
| BridgeMetrics | cached_metrics_ |
| bool | monitoring_enabled_ {true} |
Bridge for observability (logger + monitoring) integration implementing INetworkBridge.
This class consolidates logger and monitoring integrations into a single, unified bridge. It provides factory methods for creating bridges from different backend types.
Backend Types:
Lifecycle:
Thread Safety:
Definition at line 83 of file observability_bridge.h.
|
strong |
Type of observability backend.
| Enumerator | |
|---|---|
| CommonSystem | Uses common_system's ILogger and IMonitor. |
| Standalone | Uses network_system's logger_interface and monitoring_interface. |
Definition at line 89 of file observability_bridge.h.
|
explicit |
Construct bridge with logger and monitoring interfaces.
| logger | Logger implementation |
| monitor | Monitoring implementation |
| backend_type | Type of backend (default: Standalone) |
| std::invalid_argument | if logger or monitor is nullptr |
Example:
Definition at line 10 of file observability_bridge.cpp.
|
override |
Destructor.
Automatically calls shutdown() if initialized
Definition at line 25 of file observability_bridge.cpp.
References initialized_, and shutdown().

| ObservabilityBridge::BackendType kcenon::network::integration::ObservabilityBridge::get_backend_type | ( | ) | const |
Get the backend type.
Definition at line 142 of file observability_bridge.cpp.
References backend_type_.
| std::shared_ptr< logger_interface > kcenon::network::integration::ObservabilityBridge::get_logger | ( | ) | const |
Get the logger interface.
Thread Safety: Safe to call after initialization
Example:
Definition at line 134 of file observability_bridge.cpp.
References logger_.
|
overridevirtual |
Get current metrics.
Custom Metrics:
Thread Safety: Safe to call concurrently
Implements kcenon::network::integration::INetworkBridge.
Definition at line 109 of file observability_bridge.cpp.
References backend_type_, cached_metrics_, kcenon::network::integration::BridgeMetrics::custom_metrics, initialized_, kcenon::network::integration::BridgeMetrics::is_healthy, kcenon::network::integration::BridgeMetrics::last_activity, logger_, metrics_mutex_, monitor_, and monitoring_enabled_.
| std::shared_ptr< monitoring_interface > kcenon::network::integration::ObservabilityBridge::get_monitor | ( | ) | const |
Get the monitoring interface.
Thread Safety: Safe to call after initialization
Example:
Definition at line 138 of file observability_bridge.cpp.
References monitor_.
|
overridevirtual |
Initialize the bridge with configuration.
| config | Configuration parameters |
Configuration Properties:
Error Conditions:
Example:
Implements kcenon::network::integration::INetworkBridge.
Definition at line 31 of file observability_bridge.cpp.
References kcenon::network::error_codes::common_errors::already_exists, backend_type_, cached_metrics_, config, kcenon::network::integration::BridgeMetrics::custom_metrics, kcenon::network::error_void(), initialized_, kcenon::network::error_codes::common_errors::invalid_argument, kcenon::network::integration::BridgeMetrics::is_healthy, kcenon::network::integration::BridgeMetrics::last_activity, logger_, metrics_mutex_, monitor_, monitoring_enabled_, and kcenon::network::ok().

|
overridevirtual |
Check if the bridge is initialized.
Implements kcenon::network::integration::INetworkBridge.
Definition at line 105 of file observability_bridge.cpp.
References initialized_, logger_, and monitor_.
|
overridevirtual |
Shutdown the bridge.
Shuts down the bridge and flushes any buffered logs. Logger and monitor lifecycle is managed externally.
This method is idempotent - multiple calls are safe.
Implements kcenon::network::integration::INetworkBridge.
Definition at line 80 of file observability_bridge.cpp.
References cached_metrics_, initialized_, kcenon::network::integration::BridgeMetrics::is_healthy, kcenon::network::integration::BridgeMetrics::last_activity, logger_, metrics_mutex_, and kcenon::network::ok().
Referenced by ~ObservabilityBridge().


|
private |
Definition at line 252 of file observability_bridge.h.
Referenced by get_backend_type(), get_metrics(), and initialize().
|
mutableprivate |
Definition at line 255 of file observability_bridge.h.
Referenced by get_metrics(), initialize(), and shutdown().
|
private |
Definition at line 253 of file observability_bridge.h.
Referenced by get_metrics(), initialize(), is_initialized(), shutdown(), and ~ObservabilityBridge().
|
private |
Definition at line 250 of file observability_bridge.h.
Referenced by get_logger(), get_metrics(), initialize(), is_initialized(), ObservabilityBridge(), and shutdown().
|
mutableprivate |
Definition at line 254 of file observability_bridge.h.
Referenced by get_metrics(), initialize(), and shutdown().
|
private |
Definition at line 251 of file observability_bridge.h.
Referenced by get_metrics(), get_monitor(), initialize(), is_initialized(), and ObservabilityBridge().
|
private |
Definition at line 256 of file observability_bridge.h.
Referenced by get_metrics(), and initialize().