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}