Expand description
§Channel Metrics
This module provides performance monitoring capabilities for IPC channels. It tracks message counts, byte throughput, errors, latency, and queue depth.
§Example
ⓘ
use ipckit::{ChannelMetrics, MeteredChannel};
let channel = NamedPipeChannel::new("my_pipe")?.with_metrics();
// ... use channel ...
let metrics = channel.metrics();
println!("Messages sent: {}", metrics.messages_sent());
println!("Avg latency: {}µs", metrics.avg_latency_us());
// Export for monitoring
log::info!("IPC metrics: {}", metrics.to_json());Structs§
- Aggregated
Metrics - Aggregated metrics from multiple channels.
- Channel
Metrics - Atomic metrics counters for thread-safe updates.
- Metered
Receiver - A receiver wrapper that automatically records metrics.
- Metered
Sender - A sender wrapper that automatically records metrics.
- Metered
Wrapper - A wrapper that adds metrics to any channel.
- Metrics
Snapshot - A snapshot of metrics at a point in time.
Traits§
- Into
Metered - Helper trait for creating metered sender/receiver pairs.
- Metered
Channel - Trait for channels that support metrics.
- With
Metrics - Extension trait for adding metrics to channels.
Functions§
- metered_
pair - Create a metered channel pair with shared metrics.