pub struct Metrics {
pub mcp_messages: AtomicU64,
pub dcp_messages: AtomicU64,
pub mcp_bytes: AtomicU64,
pub dcp_bytes: AtomicU64,
pub mcp_latency_us: AtomicU64,
pub dcp_latency_us: AtomicU64,
pub tool_invocations: AtomicU64,
pub errors: AtomicU64,
}Expand description
Performance metrics for protocol comparison
Fields§
§mcp_messages: AtomicU64MCP message count
dcp_messages: AtomicU64DCP message count
mcp_bytes: AtomicU64MCP total bytes
dcp_bytes: AtomicU64DCP total bytes
mcp_latency_us: AtomicU64MCP total latency (microseconds)
dcp_latency_us: AtomicU64DCP total latency (microseconds)
tool_invocations: AtomicU64Tool invocation count
errors: AtomicU64Error count
Implementations§
Source§impl Metrics
impl Metrics
Sourcepub fn record_mcp(&self, bytes: u64, latency_us: u64)
pub fn record_mcp(&self, bytes: u64, latency_us: u64)
Record an MCP message
Sourcepub fn record_dcp(&self, bytes: u64, latency_us: u64)
pub fn record_dcp(&self, bytes: u64, latency_us: u64)
Record a DCP message
Sourcepub fn record_invocation(&self)
pub fn record_invocation(&self)
Record a tool invocation
Sourcepub fn record_error(&self)
pub fn record_error(&self)
Record an error
Sourcepub fn avg_mcp_latency_us(&self) -> u64
pub fn avg_mcp_latency_us(&self) -> u64
Get average MCP latency in microseconds
Sourcepub fn avg_dcp_latency_us(&self) -> u64
pub fn avg_dcp_latency_us(&self) -> u64
Get average DCP latency in microseconds
Sourcepub fn avg_mcp_size(&self) -> u64
pub fn avg_mcp_size(&self) -> u64
Get average MCP message size
Sourcepub fn avg_dcp_size(&self) -> u64
pub fn avg_dcp_size(&self) -> u64
Get average DCP message size
Sourcepub fn snapshot(&self) -> MetricsSnapshot
pub fn snapshot(&self) -> MetricsSnapshot
Get snapshot of all metrics
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Metrics
impl RefUnwindSafe for Metrics
impl Send for Metrics
impl Sync for Metrics
impl Unpin for Metrics
impl UnsafeUnpin for Metrics
impl UnwindSafe for Metrics
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