pub struct FeedDiagnostics {
pub feed_id: FeedId,
pub alive: bool,
pub paused: bool,
pub uptime: Duration,
pub metrics: FeedMetrics,
pub queues: QueueTelemetry,
pub decode: Option<DecodeStatus>,
pub view: ViewDiagnostics,
pub batch_processor_id: Option<StageId>,
}Expand description
Consolidated per-feed diagnostics snapshot.
Combines lifecycle state, throughput metrics, queue depths, decode status, and view-system health into a single best-effort coherent snapshot. Each field is read from independent atomics/mutexes, so the snapshot is approximately — not transactionally — consistent.
Obtained via FeedHandle::diagnostics().
Fields§
§feed_id: FeedIdThe feed’s unique identifier.
alive: boolWhether the worker thread is still alive.
paused: boolWhether the feed is currently paused.
uptime: DurationTime since the current processing session started.
Resets on each restart. A feed that restarts frequently will show low uptime values.
metrics: FeedMetricsFrame counters, track count, view epoch, and restart count.
queues: QueueTelemetrySource and sink queue depths and capacities.
decode: Option<DecodeStatus>Decode method selected by the media backend, if known.
None until the stream starts and the backend confirms decoder
negotiation.
view: ViewDiagnosticsCurrent camera view-system status.
batch_processor_id: Option<StageId>The batch coordinator this feed submits to, if any.
Use this to correlate with RuntimeDiagnostics::batches for
the coordinator’s metrics.
Trait Implementations§
Source§impl Clone for FeedDiagnostics
impl Clone for FeedDiagnostics
Source§fn clone(&self) -> FeedDiagnostics
fn clone(&self) -> FeedDiagnostics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for FeedDiagnostics
impl RefUnwindSafe for FeedDiagnostics
impl Send for FeedDiagnostics
impl Sync for FeedDiagnostics
impl Unpin for FeedDiagnostics
impl UnsafeUnpin for FeedDiagnostics
impl UnwindSafe for FeedDiagnostics
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more