Excessibility.TelemetryCapture.Analyzers.StateMachine (Excessibility v0.14.0)

View Source

Analyzes state transitions across timeline events.

Detects:

  • Keys added between events
  • Keys removed between events
  • Rapid state changes (many transitions)
  • Unstable state (keys added then removed)

Uses data from the State enricher (state_keys) to track how the assign keys change over time.

Algorithm

  1. Compare state_keys between consecutive events
  2. Identify added and removed keys
  3. Detect patterns:
    • Rapid changes: 3+ transitions with changes
    • Unstable state: Keys that appear and then disappear
  4. Calculate summary statistics

Output

Returns findings and statistics:

%{
  findings: [
    %{
      severity: :info,
      message: "2 keys added between events 1→2",
      events: [1, 2],
      metadata: %{added: [:products, :cart], removed: []}
    }
  ],
  stats: %{
    total_transitions: 4,
    total_keys_added: 5,
    total_keys_removed: 2
  }
}

Summary

Functions

analyze(map, opts)

Callback implementation for Excessibility.TelemetryCapture.Analyzer.analyze/2.

default_enabled?()

Callback implementation for Excessibility.TelemetryCapture.Analyzer.default_enabled?/0.

name()

Callback implementation for Excessibility.TelemetryCapture.Analyzer.name/0.

requires_enrichers()

Callback implementation for Excessibility.TelemetryCapture.Analyzer.requires_enrichers/0.