Skip to main content

MotifClass

Enum MotifClass 

Source
pub enum MotifClass {
Show 32 variants MemoryLeakDrift, CascadingTimeoutSlew, DeploymentRegressionSlew, CacheDegradationGrazing, ConnectionPoolExhaustionDrift, GcPressureOscillation, ErrorRateEscalation, DependencySlowdown, ResourceSaturation, QueueBackpressure, RetryStormCascade, CircuitBreakerOpenShift, DatabaseLockContention, AuthenticationFailureSpike, ConfigDriftRegression, PacketLossErrorEscalation, NetworkDelayDependencyInflation, DiskIoSaturation, CpuSaturation, JvmHeapPressure, JvmGcPause, ServiceGraphDriftPropagation, HighDimAnomalyCluster, MetricCorrelationCollapse, LogVolumeAnomaly, LogTraceTemporalDecorrelation, LogSeverityEscalation, SaturationTrending, EpisodicTransientSpike, RegressiveDriftWithRecovery, EnvelopeBoundaryApproach, EnvelopeBreach,
}
Expand description

Motif classes for software debugging — Paper §5.6.

Names are anchored to IEEE 24765 vocabulary and the Avizienis–Laprie–Randell dependability tree (fault → error → failure). No ad-hoc terminology: every variant decomposes into established software-engineering vocabulary.

Variants§

§

MemoryLeakDrift

Sustained monotonic memory-consumption drift. IEEE 24765: “memory leak”; A-L-R: latent fault → error.

§

CascadingTimeoutSlew

Step-change latency propagating across dependency chain. IEEE 24765: “fault propagation”; A-L-R: error → service-failure.

§

DeploymentRegressionSlew

Abrupt shift coinciding with deployment event. IEEE 24765: “regression”; A-L-R: design fault → error.

§

CacheDegradationGrazing

Oscillatory approach to latency SLO boundary. IEEE 24765: “performance degradation”; A-L-R: marginal-state error.

§

ConnectionPoolExhaustionDrift

Slow positive drift in queue depth + latency. IEEE 24765: “resource exhaustion”; A-L-R: error build-up.

§

GcPressureOscillation

Periodic slew events from garbage collection. IEEE 24765: “stop-the-world pause”; A-L-R: transient error.

§

ErrorRateEscalation

Sustained positive drift in error rate. IEEE 24765: “error escalation”; A-L-R: error → multi-failure regime.

§

DependencySlowdown

Gradual latency increase in upstream dependency. IEEE 24765: “performance degradation upstream”; A-L-R: external fault.

§

ResourceSaturation

CPU/memory/disk approaching ceiling. IEEE 24765: “resource saturation”; A-L-R: latent → manifest fault.

§

QueueBackpressure

Message queue depth growing monotonically. IEEE 24765: “back-pressure accumulation”; A-L-R: error build-up.

§

RetryStormCascade

Retry-storm cascade: client retries amplify upstream load. Evidence: TADBench retry-storm fault case. IEEE 24765: “retry-induced amplification”; A-L-R: cascading error.

§

CircuitBreakerOpenShift

Circuit breaker open-state shift; downstream calls return immediately. Evidence: TADBench circuit-breaker fault case. IEEE 24765: “fault tolerance mechanism state change”.

§

DatabaseLockContention

Database lock contention with rising queue + latency. Evidence: TADBench db-lock fault case. IEEE 24765: “concurrency fault”; A-L-R: synchronisation error.

§

AuthenticationFailureSpike

Authentication failure spike (auth-backend partial outage). Evidence: TADBench auth-fail fault case. IEEE 24765: “authentication subsystem failure”.

§

ConfigDriftRegression

Step shift coinciding with version-config change. Evidence: TrainTicket-Anomaly version-config fault class. IEEE 24765: “configuration regression”; A-L-R: design-time fault.

§

PacketLossErrorEscalation

Packet-loss-induced error escalation (network-layer fault). Evidence: AIOps Challenge packet_loss category. IEEE 24765: “communication failure (lower layer)”.

§

NetworkDelayDependencyInflation

Network-delay-induced upstream latency inflation. Evidence: AIOps Challenge network_delay category. IEEE 24765: “communication-path performance fault”.

§

DiskIoSaturation

Disk-I/O saturation; concave-up latency drift. Evidence: AIOps Challenge disk_exhaustion category. IEEE 24765: “storage subsystem saturation”.

§

CpuSaturation

CPU saturation; latency drift with rising envelope occupancy. Evidence: AIOps Challenge cpu_exhaustion category. IEEE 24765: “compute resource saturation”.

§

JvmHeapPressure

JVM heap pressure; sustained latency drift with rising variance. Refines MemoryLeakDrift for JVM-specific signatures. Evidence: AIOps Challenge memory_exhaustion category.

§

JvmGcPause

JVM GC pause: distinct stop-the-world latency spikes. Refines GcPressureOscillation for JVM-specific signatures. Evidence: AIOps Challenge jvm_resource_exhaustion category.

§

ServiceGraphDriftPropagation

Drift propagating along the service-call graph (multi-hop). Evidence: MultiDim-Localization root-cause-graph cases. IEEE 24765: “graph-structured fault propagation”.

§

HighDimAnomalyCluster

Multi-metric correlated anomaly without dominant single signal. Evidence: MultiDim-Localization high-dim cluster cases. IEEE 24765: “compound fault signature”.

§

MetricCorrelationCollapse

Historically-correlated metrics decorrelate; structural regime shift. Evidence: MultiDim-Localization correlation-collapse cases. IEEE 24765: “structural model invalidation”.

§

LogVolumeAnomaly

Log-frequency outward drift on a service. Evidence: DeepTraLog log-volume anomalies. IEEE 24765: “diagnostic-output anomaly”.

§

LogTraceTemporalDecorrelation

Log timing departs from trace timing pattern. Evidence: DeepTraLog log-trace temporal-mismatch cases. IEEE 24765: “instrumentation-temporal divergence”.

§

LogSeverityEscalation

Log severity distribution shifts (more WARN/ERROR proportionally). Evidence: DeepTraLog severity-shift cases. IEEE 24765: “diagnostic severity escalation”.

§

SaturationTrending

Concave-up approach to a ceiling; generalises ResourceSaturation. IEEE 24765: “asymptotic resource saturation”.

§

EpisodicTransientSpike

Short-duration high-slew event that self-resolves. IEEE 24765: “transient-only error”; A-L-R: transient fault.

§

RegressiveDriftWithRecovery

Outward drift followed by return to baseline. Refines ReasonCode::DriftWithRecovery into a motif class. IEEE 24765: “self-healing transient drift”.

§

EnvelopeBoundaryApproach

First-time approach to the admissibility envelope without recurrence or persistent drift evidence. Catches the ReasonCode::BoundaryApproach reason code so it isn’t an orphan in the canonical bank (validated by tests::no_orphan_reason_codes_in_canonical_bank). IEEE 24765: “marginal-state transient”; A-L-R: dormant fault.

§

EnvelopeBreach

Envelope breach without abrupt slew evidence — the “value stepped past the threshold but the trajectory shape shows no slew” case. Catches the ReasonCode::EnvelopeViolation reason code so it isn’t an orphan in the canonical bank. IEEE 24765: “threshold breach (smooth)”; A-L-R: error → manifest.

Trait Implementations§

Source§

impl Clone for MotifClass

Source§

fn clone(&self) -> MotifClass

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MotifClass

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for MotifClass

Source§

fn eq(&self, other: &MotifClass) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for MotifClass

Source§

impl Eq for MotifClass

Source§

impl StructuralPartialEq for MotifClass

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.