pub trait MetricsHook: Send + Sync {
fn on_parse_error(&self);
fn on_events_processed(&self, count: u64);
fn on_detection_matches(&self, count: u64);
fn on_correlation_matches(&self, count: u64);
fn observe_processing_latency(&self, seconds: f64);
fn on_input_queue_depth_change(&self, delta: i64);
fn on_back_pressure(&self);
fn observe_batch_size(&self, size: u64);
fn on_output_queue_depth_change(&self, delta: i64);
fn observe_pipeline_latency(&self, seconds: f64);
fn set_correlation_state_entries(&self, count: u64);
}
pub struct NoopMetrics;
impl MetricsHook for NoopMetrics {
fn on_parse_error(&self) {}
fn on_events_processed(&self, _count: u64) {}
fn on_detection_matches(&self, _count: u64) {}
fn on_correlation_matches(&self, _count: u64) {}
fn observe_processing_latency(&self, _seconds: f64) {}
fn on_input_queue_depth_change(&self, _delta: i64) {}
fn on_back_pressure(&self) {}
fn observe_batch_size(&self, _size: u64) {}
fn on_output_queue_depth_change(&self, _delta: i64) {}
fn observe_pipeline_latency(&self, _seconds: f64) {}
fn set_correlation_state_entries(&self, _count: u64) {}
}