pub struct RequestTrace {
pub request_id: String,
pub entry_time: Instant,
pub stages: [Option<StageRecord>; 5],
pub complete: bool,
}Expand description
Complete lifecycle record for one request.
Fields§
§request_id: StringUnique identifier for the request.
entry_time: InstantWall-clock time when the request entered the pipeline.
stages: [Option<StageRecord>; 5]Per-stage records, indexed by stage index (0-4).
complete: boolWhether the entire request has completed.
Implementations§
Source§impl RequestTrace
impl RequestTrace
Sourcepub fn new(request_id: impl Into<String>) -> Self
pub fn new(request_id: impl Into<String>) -> Self
Create a new, empty trace for the given request id.
Sourcepub fn stage_started(&mut self, stage_index: usize)
pub fn stage_started(&mut self, stage_index: usize)
Record the start of a stage.
Idempotent: if the stage was already started, this is a no-op.
Sourcepub fn stage_finished(&mut self, stage_index: usize, success: bool)
pub fn stage_finished(&mut self, stage_index: usize, success: bool)
Record the completion of a stage.
Sourcepub fn total_elapsed(&self) -> Duration
pub fn total_elapsed(&self) -> Duration
Total elapsed time from entry to now (or until Stream completed).
Trait Implementations§
Source§impl Clone for RequestTrace
impl Clone for RequestTrace
Source§fn clone(&self) -> RequestTrace
fn clone(&self) -> RequestTrace
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 RequestTrace
impl RefUnwindSafe for RequestTrace
impl Send for RequestTrace
impl Sync for RequestTrace
impl Unpin for RequestTrace
impl UnsafeUnpin for RequestTrace
impl UnwindSafe for RequestTrace
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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