burn_central_inference/observer.rs
1use std::time::Duration;
2
3/// Runtime-owned writer statistics for a completed inference request.
4#[derive(Debug, Clone, Copy)]
5pub struct InferenceWriterStats {
6 pub duration: Duration,
7 pub outputs: usize,
8 pub errors: usize,
9 pub cancelled: bool,
10}
11
12/// Observer interface for writer lifecycle events.
13pub trait InferenceWriterObserver: Send + Sync + 'static {
14 fn on_write(&self) {}
15
16 fn on_error(&self) {}
17
18 fn on_cancelled(&self) {}
19
20 fn on_finish(&self, _stats: &InferenceWriterStats) {}
21}