use std::sync::atomic::{AtomicU64, AtomicUsize};
#[derive(Default)]
pub(super) struct Counters {
pub(super) prefill_chunks: AtomicU64,
pub(super) prefill_tokens: AtomicU64,
pub(super) decode_steps: AtomicU64,
pub(super) peak_blocks: AtomicUsize,
}
#[derive(Debug, Clone, Copy, Default, serde::Serialize)]
pub struct BatcherStats {
pub prefill_chunks: u64,
pub prefill_tokens: u64,
pub decode_steps: u64,
pub queue_depth: usize,
pub queue_rejected: u64,
pub kv_blocks_total: usize,
pub kv_blocks_free: usize,
pub kv_block_size: usize,
pub kv_rejected_too_large: u64,
pub kv_rejected_context_length: u64,
pub kv_blocks_peak: usize,
pub aborted: u64,
}