pub struct ConnectionHealthCheck { /* private fields */ }Expand description
Health check for monitoring active connection count.
This check verifies that the node has at least a minimum number of active connections. Having too few connections may indicate network issues, configuration problems, or that the node is isolated from the network.
§Status Determination
Healthy: Active connections >= min_connectionsDegraded: Active connections < min_connections
§Example
use elara_runtime::health::{ConnectionHealthCheck, HealthCheck};
use elara_runtime::node::Node;
use std::sync::Arc;
let node = Arc::new(Node::new());
let check = ConnectionHealthCheck::new(node, 3);
let result = check.check();Implementations§
Source§impl ConnectionHealthCheck
impl ConnectionHealthCheck
Sourcepub fn new(node: Arc<Node>, min_connections: usize) -> Self
pub fn new(node: Arc<Node>, min_connections: usize) -> Self
Creates a new ConnectionHealthCheck.
§Arguments
node- Arc reference to the Node to monitormin_connections- Minimum number of active connections for healthy status
§Example
use elara_runtime::health::ConnectionHealthCheck;
use elara_runtime::node::Node;
use std::sync::Arc;
let node = Arc::new(Node::new());
let check = ConnectionHealthCheck::new(node, 3);Sourcepub fn min_connections(&self) -> usize
pub fn min_connections(&self) -> usize
Returns the configured minimum connections threshold.
Trait Implementations§
Source§impl HealthCheck for ConnectionHealthCheck
impl HealthCheck for ConnectionHealthCheck
Auto Trait Implementations§
impl Freeze for ConnectionHealthCheck
impl RefUnwindSafe for ConnectionHealthCheck
impl Send for ConnectionHealthCheck
impl Sync for ConnectionHealthCheck
impl Unpin for ConnectionHealthCheck
impl UnsafeUnpin for ConnectionHealthCheck
impl UnwindSafe for ConnectionHealthCheck
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request