pub struct HealthReportingConfig {
pub enabled: bool,
pub priority: HealthPriority,
pub store_history: bool,
}Expand description
Configuration for node health reporting
§Example
use mecha10::prelude::*;
// Default config (Normal priority, 5s interval)
let config = HealthReportingConfig::default();
// Critical priority (1s interval)
let config = HealthReportingConfig::critical();
// Background priority (30s interval)
let config = HealthReportingConfig::background();
// Custom config
let config = HealthReportingConfig {
enabled: true,
priority: HealthPriority::Normal,
store_history: false, // Disable history for high-frequency nodes
};Fields§
§enabled: boolWhether health reporting is enabled (default: true)
priority: HealthPriorityPriority level determines interval and timeout (default: Normal)
store_history: boolWhether to store health history in Redis (default: true)
Disable for high-frequency critical nodes to reduce Redis load. History is stored as a sorted set with 24-hour retention.
Implementations§
Source§impl HealthReportingConfig
impl HealthReportingConfig
Sourcepub fn background() -> Self
pub fn background() -> Self
Create config for background priority nodes (30s interval)
Sourcepub fn ttl_seconds(&self) -> u64
pub fn ttl_seconds(&self) -> u64
Get the effective TTL based on priority
Trait Implementations§
Source§impl Clone for HealthReportingConfig
impl Clone for HealthReportingConfig
Source§fn clone(&self) -> HealthReportingConfig
fn clone(&self) -> HealthReportingConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HealthReportingConfig
impl Debug for HealthReportingConfig
Auto Trait Implementations§
impl Freeze for HealthReportingConfig
impl RefUnwindSafe for HealthReportingConfig
impl Send for HealthReportingConfig
impl Sync for HealthReportingConfig
impl Unpin for HealthReportingConfig
impl UnwindSafe for HealthReportingConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more