Skip to main content

disyn_runtime/
telemetry.rs

1use disyn_core::ports::{SpanEvent, TelemetrySink};
2
3pub struct TracingSink;
4
5impl Default for TracingSink {
6    fn default() -> Self {
7        Self
8    }
9}
10
11impl TracingSink {
12    pub fn init() -> Self {
13        Self
14    }
15}
16
17impl TelemetrySink for TracingSink {
18    fn emit(&self, event: &SpanEvent) {
19        tracing::info!(
20            trace_id = %event.trace_id,
21            kind = ?event.kind,
22            duration_ms = event.duration_ms,
23            status = ?event.status,
24            "span"
25        );
26    }
27}