pub struct TraceRecorder { /* private fields */ }Expand description
Thread-safe in-memory recorder for workflow trace events.
Implementations§
Source§impl TraceRecorder
impl TraceRecorder
Sourcepub fn new(metadata: WorkflowTraceMetadata) -> Self
pub fn new(metadata: WorkflowTraceMetadata) -> Self
Creates a new recorder with empty event history.
Sourcepub fn append_event(
&self,
timestamp_unix_ms: u64,
kind: TraceEventKind,
) -> Result<TraceEvent, TraceRecordError>
pub fn append_event( &self, timestamp_unix_ms: u64, kind: TraceEventKind, ) -> Result<TraceEvent, TraceRecordError>
Appends an arbitrary event to the trace.
Sourcepub fn record_node_enter(
&self,
timestamp_unix_ms: u64,
node_id: impl Into<String>,
) -> Result<TraceEvent, TraceRecordError>
pub fn record_node_enter( &self, timestamp_unix_ms: u64, node_id: impl Into<String>, ) -> Result<TraceEvent, TraceRecordError>
Appends a node enter event.
Sourcepub fn record_node_exit(
&self,
timestamp_unix_ms: u64,
node_id: impl Into<String>,
) -> Result<TraceEvent, TraceRecordError>
pub fn record_node_exit( &self, timestamp_unix_ms: u64, node_id: impl Into<String>, ) -> Result<TraceEvent, TraceRecordError>
Appends a node exit event.
Sourcepub fn record_node_error(
&self,
timestamp_unix_ms: u64,
node_id: impl Into<String>,
message: impl Into<String>,
) -> Result<TraceEvent, TraceRecordError>
pub fn record_node_error( &self, timestamp_unix_ms: u64, node_id: impl Into<String>, message: impl Into<String>, ) -> Result<TraceEvent, TraceRecordError>
Appends a node error event.
Sourcepub fn record_terminal(
&self,
timestamp_unix_ms: u64,
status: TraceTerminalStatus,
) -> Result<TraceEvent, TraceRecordError>
pub fn record_terminal( &self, timestamp_unix_ms: u64, status: TraceTerminalStatus, ) -> Result<TraceEvent, TraceRecordError>
Appends a workflow terminal event.
Sourcepub fn snapshot(&self) -> WorkflowTrace
pub fn snapshot(&self) -> WorkflowTrace
Returns a snapshot of the current trace.
Sourcepub fn finalize(
&self,
finished_at_unix_ms: u64,
) -> Result<WorkflowTrace, TraceRecordError>
pub fn finalize( &self, finished_at_unix_ms: u64, ) -> Result<WorkflowTrace, TraceRecordError>
Finalizes the recorder and returns the immutable trace.
Trait Implementations§
Source§impl Clone for TraceRecorder
impl Clone for TraceRecorder
Source§fn clone(&self) -> TraceRecorder
fn clone(&self) -> TraceRecorder
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for TraceRecorder
impl RefUnwindSafe for TraceRecorder
impl Send for TraceRecorder
impl Sync for TraceRecorder
impl Unpin for TraceRecorder
impl UnsafeUnpin for TraceRecorder
impl UnwindSafe for TraceRecorder
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request