diff --git a/patterns/default.yaml b/patterns/default.yaml index f944e96..54c87a3 100644 --- a/patterns/default.yaml +++ b/patterns/default.yaml @@ -4,7 +4,7 @@ # # domain: groups patterns into service health domains for triage-level summaries. # Valid domains: service_health | networking | auth | storage | memory | -# kernel | power | web_proxy | media | gpu +# kernel | power | web_proxy | media | gpu | audio # # Patterns are applied in order; multiple can match a single entry. @@ -275,3 +275,41 @@ patterns: severity: ERROR domain: power description: Undervoltage event — instability risk, check PSU and cable connections + + # ── Audio / PipeWire / ALSA ────────────────────────────────────────────────── + + - name: pipewire_overflow + pattern: "(OVERFLOW channel|stream.*OVERFLOW|protocol.pulse.*OVERFLOW)" + severity: WARN + domain: audio + description: PipeWire-Pulse stream buffer overflow — client not draining audio fast enough; usually indicates a quantum/period-size mismatch or CPU scheduling issue + + - name: pipewire_underrun + pattern: "(pw\\.node.*underrun|spa\\.alsa.*underrun|alsa.*underrun|UNDERRUN)" + severity: WARN + domain: audio + description: PipeWire/ALSA buffer underrun (xrun) — audio thread missed its deadline; increase quantum or period-size for the affected device + + - name: alsa_xrun + pattern: "(ALSA.*[Xx][Rr][Uu][Nn]|alsa.*xrun|snd_pcm.*xrun|pcm.*underrun|pcm.*overrun)" + severity: WARN + domain: audio + description: ALSA xrun (hardware buffer overrun/underrun) — increase api.alsa.period-size via WirePlumber rule or raise clock.min-quantum + + - name: pipewire_quantum_mismatch + pattern: "(quantum.*mismatch|rate.*mismatch|sample.rate.*mismatch|resampl.*fail|can.*t adapt quantum)" + severity: WARN + domain: audio + description: PipeWire quantum or sample-rate mismatch between nodes — check for mixed 44100/48000 streams; may need per-device WirePlumber rules + + - name: pipewire_node_error + pattern: "(pw\\.node.*error|node.*ERROR|pipewire.*failed to set|spa\\.alsa.*error|alsa_sink.*error|alsa_source.*error)" + severity: ERROR + domain: audio + description: PipeWire node error — device may be unavailable or misconfigured + + - name: pipewire_jackdbus_missing + pattern: "(jackdbus.*reply|jackaudio.*service.*not.*provided|org\\.jackaudio\\.service)" + severity: INFO + domain: audio + description: PipeWire JACK D-Bus probe — JACK not running; benign on non-JACK systems, fires once per PipeWire restart