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}