pub enum WalTelemetryEvent {
FrameAppended {
frame_count: u32,
bytes_written: u64,
is_commit: bool,
timestamp_ns: u64,
},
ReplayStarted {
valid_frames: usize,
replayable_frames: usize,
timestamp_ns: u64,
},
ReplayCompleted {
frames_replayed: usize,
duration_us: u64,
timestamp_ns: u64,
},
CheckpointStarted {
mode: CheckpointMode,
frames_to_backfill: u32,
timestamp_ns: u64,
},
CheckpointCompleted {
mode: CheckpointMode,
frames_backfilled: u32,
wal_reset: bool,
duration_us: u64,
timestamp_ns: u64,
},
WalReset {
new_checkpoint_seq: u32,
timestamp_ns: u64,
},
ChecksumFailure {
frame_index: usize,
kind: ChecksumFailureKind,
action: RecoveryAction,
timestamp_ns: u64,
},
ChainValidated {
total_frames: usize,
valid: bool,
first_invalid_frame: Option<usize>,
reason: Option<WalChainInvalidReason>,
timestamp_ns: u64,
},
FecRepairAttempted {
outcome: WalFecRepairOutcome,
symbols_available: usize,
duration_us: u64,
timestamp_ns: u64,
},
GroupCommitFlushed {
batch_size: u32,
total_frames: u32,
latency_us: u64,
timestamp_ns: u64,
},
}Expand description
Structured telemetry event emitted by WAL operations.
Each variant captures the minimal context needed to diagnose the operation in post-mortem analysis or real-time dashboards.
Variants§
FrameAppended
One or more frames appended to the WAL.
Fields
ReplayStarted
WAL chain replay started during open or recovery.
Fields
ReplayCompleted
WAL chain replay completed.
Fields
CheckpointStarted
Checkpoint operation started.
Fields
mode: CheckpointModeCheckpoint mode requested.
CheckpointCompleted
Checkpoint operation completed.
Fields
mode: CheckpointModeCheckpoint mode that was executed.
WalReset
WAL file reset (post-checkpoint truncation or restart).
Fields
ChecksumFailure
Checksum failure detected during chain validation or frame read.
Fields
kind: ChecksumFailureKindClassification of the checksum failure.
action: RecoveryActionRecovery action selected for this failure.
ChainValidated
WAL chain validation completed (during open or recovery).
Fields
reason: Option<WalChainInvalidReason>Reason for invalidity, if applicable.
FecRepairAttempted
FEC repair attempted for a corrupted commit group.
Fields
outcome: WalFecRepairOutcomeOutcome of the repair attempt.
GroupCommitFlushed
Group commit flush completed.
Implementations§
Trait Implementations§
Source§impl Clone for WalTelemetryEvent
impl Clone for WalTelemetryEvent
Source§fn clone(&self) -> WalTelemetryEvent
fn clone(&self) -> WalTelemetryEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WalTelemetryEvent
impl Debug for WalTelemetryEvent
impl Eq for WalTelemetryEvent
Source§impl PartialEq for WalTelemetryEvent
impl PartialEq for WalTelemetryEvent
Source§fn eq(&self, other: &WalTelemetryEvent) -> bool
fn eq(&self, other: &WalTelemetryEvent) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for WalTelemetryEvent
impl Serialize for WalTelemetryEvent
impl StructuralPartialEq for WalTelemetryEvent
Auto Trait Implementations§
impl Freeze for WalTelemetryEvent
impl RefUnwindSafe for WalTelemetryEvent
impl Send for WalTelemetryEvent
impl Sync for WalTelemetryEvent
impl Unpin for WalTelemetryEvent
impl UnsafeUnpin for WalTelemetryEvent
impl UnwindSafe for WalTelemetryEvent
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> 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> 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