Skip to content

Feature/alert muting part 2#9

Merged
HannahVernon merged 7 commits into
devfrom
feature/alert-muting-part-2
Mar 20, 2026
Merged

Feature/alert muting part 2#9
HannahVernon merged 7 commits into
devfrom
feature/alert-muting-part-2

Conversation

@HannahVernon
Copy link
Copy Markdown
Owner

What does this PR do?

Improves the Alert Muting feature by prefilling certain muting filter fields when adding a mute filter from the Alert History window. Automatically filled fields include the database name, the wait type, query text. The filter fields available depend on the type of alert being muted; long-running-queries have different context than TempDB usage, for example. This PR also adds a configurable default expiration period for alerts.

Which component(s) does this affect?

  • [✔] Full Dashboard
  • [✔] Lite Dashboard
  • Lite Tests
  • SQL collection scripts
  • CLI Installer
  • GUI Installer
  • Documentation

How was this tested?

Tested on multiple SQL Server 2022 Enterprise and SQL Server 2019 VM-based instances inside and outside Azure.

Checklist

  • [✔] I have read the contributing guide
  • [✔] My code builds with zero warnings (dotnet build -c Debug)
  • [✔] I have tested my changes against at least one SQL Server version
  • [✔] I have not introduced any hardcoded credentials or server names

HannahVernon and others added 7 commits March 10, 2026 17:08
- Parse detail_text to extract Database, Query Text, and Wait Type
  when using 'Mute This Alert' from alert history (both editions)
- Add PopulateFromDetailText() to AlertMuteContext for structured
  field extraction from the label: value format
- Add 'Default expiration for new mute rules' dropdown to Settings
  in both editions (1 hour, 24 hours, 7 days, Never; default 24h)
- MuteRuleDialog now selects the configured default expiration
  instead of always defaulting to 'Never'
- Persist setting as mute_rule_default_expiration in settings.json
  (Lite) and preferences.json (Dashboard)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The XML doc claimed Job Name extraction but the parser did not
implement it. Add the missing branch in both Dashboard and Lite
editions so the behavior matches the documentation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Collapse newlines in Truncate/TruncateText so detail_text fields
  stay single-line in the label: value format
- Handle multi-line query values in PopulateFromDetailText by
  accumulating continuation lines until the next indented field
- Recognize variant query labels (Blocked Query, Blocking Query,
  Victim SQL) in addition to Query

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Explain that the field is a case-insensitive substring match and
suggest entering a distinctive fragment like a table or procedure name.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@HannahVernon HannahVernon merged commit 00c7898 into dev Mar 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant