pub struct OtelEmitter<T: Tracer> { /* private fields */ }Expand description
Emits ThreadEvents as OpenTelemetry spans and span events.
Each ThreadEvent is recorded as an OTel span with attributes derived
from the event payload. Harness events are attached as span events
with their own attributes (event kind, message, path, etc.).
§Usage
use vtcode_exec_events::OtelEmitter;
use opentelemetry::trace::TracerProvider;
let provider = TracerProvider::default();
let tracer = provider.tracer("vtcode");
let mut emitter = OtelEmitter::new(tracer);Implementations§
Trait Implementations§
Source§impl<T: Tracer> EventEmitter for OtelEmitter<T>
impl<T: Tracer> EventEmitter for OtelEmitter<T>
Source§fn emit(&mut self, event: &ThreadEvent)
fn emit(&mut self, event: &ThreadEvent)
Invoked for each event emitted by the automation runtime.
Auto Trait Implementations§
impl<T> Freeze for OtelEmitter<T>where
T: Freeze,
impl<T> RefUnwindSafe for OtelEmitter<T>where
T: RefUnwindSafe,
impl<T> Send for OtelEmitter<T>where
T: Send,
impl<T> Sync for OtelEmitter<T>where
T: Sync,
impl<T> Unpin for OtelEmitter<T>where
T: Unpin,
impl<T> UnsafeUnpin for OtelEmitter<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for OtelEmitter<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more