Struct MetricsCollector
pub struct MetricsCollector {
kernel_telemetry: RwLock<RawRwLock, HashMap<KernelId, TelemetryBuffer>>,
kernel_histograms: RwLock<RawRwLock, HashMap<KernelId, LatencyHistogram>>,
start_time: RwLock<RawRwLock, Option<Instant>>,
}Expand description
Metrics collector that aggregates metrics from multiple kernels.
Fields§
§kernel_telemetry: RwLock<RawRwLock, HashMap<KernelId, TelemetryBuffer>>§kernel_histograms: RwLock<RawRwLock, HashMap<KernelId, LatencyHistogram>>§start_time: RwLock<RawRwLock, Option<Instant>>Implementations§
§impl MetricsCollector
impl MetricsCollector
pub fn new() -> MetricsCollector
pub fn new() -> MetricsCollector
Create a new metrics collector.
pub fn record_message_processed(&self, kernel_id: &KernelId, latency_us: u64)
pub fn record_message_processed(&self, kernel_id: &KernelId, latency_us: u64)
Record a message processed event.
pub fn record_message_dropped(&self, kernel_id: &KernelId)
pub fn record_message_dropped(&self, kernel_id: &KernelId)
Record a message dropped event.
pub fn record_error(&self, kernel_id: &KernelId, error_code: u32)
pub fn record_error(&self, kernel_id: &KernelId, error_code: u32)
Record an error.
pub fn get_telemetry(&self, kernel_id: &KernelId) -> Option<TelemetryBuffer>
pub fn get_telemetry(&self, kernel_id: &KernelId) -> Option<TelemetryBuffer>
Get telemetry for a kernel.
pub fn get_histogram(&self, kernel_id: &KernelId) -> Option<LatencyHistogram>
pub fn get_histogram(&self, kernel_id: &KernelId) -> Option<LatencyHistogram>
Get histogram for a kernel.
pub fn get_aggregate(&self) -> TelemetryBuffer
pub fn get_aggregate(&self) -> TelemetryBuffer
Get aggregate telemetry across all kernels.
pub fn reset(&self)
pub fn reset(&self)
Reset all metrics.
Trait Implementations§
§impl Default for MetricsCollector
impl Default for MetricsCollector
§fn default() -> MetricsCollector
fn default() -> MetricsCollector
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for MetricsCollector
impl !RefUnwindSafe for MetricsCollector
impl Send for MetricsCollector
impl Sync for MetricsCollector
impl Unpin for MetricsCollector
impl UnwindSafe for MetricsCollector
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§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>
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.