pub trait EventSink: Send + Sync {
// Required methods
fn on_startup(&self, process_info: Arc<ProcessInfo>);
fn on_shutdown(&self);
fn on_log_enabled(&self, metadata: &LogMetadata<'_>) -> bool;
fn on_log(
&self,
desc: &LogMetadata<'_>,
properties: &[Property],
time: i64,
args: Arguments<'_>,
);
fn on_init_log_stream(
&self,
log_stream: &EventStream<EventBlock<LogMsgQueue>>,
);
fn on_process_log_block(&self, log_block: Arc<EventBlock<LogMsgQueue>>);
fn on_init_metrics_stream(
&self,
metrics_stream: &EventStream<EventBlock<MetricsMsgQueue>>,
);
fn on_process_metrics_block(
&self,
metrics_block: Arc<EventBlock<MetricsMsgQueue>>,
);
fn on_init_thread_stream(
&self,
thread_stream: &EventStream<EventBlock<ThreadEventQueue>>,
);
fn on_process_thread_block(
&self,
thread_block: Arc<EventBlock<ThreadEventQueue>>,
);
fn is_busy(&self) -> bool;
}Expand description
interface needed by the dispatch module to send out telemetry