pub struct Health {
pub refresh_interval_ms: u64,
pub max_memory_bytes: Option<ByteSize>,
pub max_memory_percent: f32,
pub probe_timeout_ms: u64,
pub memory_stat_refresh_frequency_ms: u64,
}
Expand description
Settings to control Relay’s health checks.
After breaching one of the configured thresholds, Relay will
return an unhealthy
status from its health endpoint.
Fields§
§refresh_interval_ms: u64
Interval to refresh internal health checks.
Shorter intervals will decrease the time it takes the health check endpoint to report issues, but can also increase sporadic unhealthy responses.
Defaults to `3000`` (3 seconds).
max_memory_bytes: Option<ByteSize>
Maximum memory watermark in bytes.
By default, there is no absolute limit set and the watermark
is only controlled by setting Self::max_memory_percent
.
max_memory_percent: f32
Maximum memory watermark as a percentage of maximum system memory.
Defaults to 0.95
(95%).
probe_timeout_ms: u64
Health check probe timeout in milliseconds.
Any probe exceeding the timeout will be considered failed. This limits the max execution time of Relay health checks.
Defaults to 900 milliseconds.
memory_stat_refresh_frequency_ms: u64
The refresh frequency of memory stats which are used to poll memory usage of Relay.
The implementation of memory stats guarantees that the refresh will happen at
least every x
ms since memory readings are lazy and are updated only if needed.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Health
impl<'de> Deserialize<'de> for Health
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Health
impl RefUnwindSafe for Health
impl Send for Health
impl Sync for Health
impl Unpin for Health
impl UnwindSafe for Health
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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>
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