Skip to main content

soothe_client/appkit/
observability.rs

1//! Per-turn stream filtering counters for observability.
2
3/// Tracks per-turn stream filtering counters.
4#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
5pub struct TurnEventStats {
6    /// Chunks dropped by early stream filtering.
7    pub filtered_early: usize,
8    /// Events drained after idle status.
9    pub post_idle_drained: usize,
10    /// Inbound frames dropped under queue pressure.
11    pub inbound_dropped: usize,
12}
13
14impl TurnEventStats {
15    /// Returns an empty stats bag.
16    pub fn new() -> Self {
17        Self::default()
18    }
19}