From 2d672bc562162a547091f65c6bd8e54f162cbcfc Mon Sep 17 00:00:00 2001 From: Erik Darling <2136037+erikdarlingdata@users.noreply.github.com> Date: Fri, 20 Feb 2026 06:56:17 -0500 Subject: [PATCH] Add missing poison wait defaults to wait stats picker (fixes #188) RESOURCE_SEMAPHORE and RESOURCE_SEMAPHORE_QUERY_COMPILE were missing from the wait type picker because they had no collected data. Poison waits are now always injected into the picker list so they appear and get pre-selected by default, ready to show data if/when those waits occur. Co-Authored-By: Claude Opus 4.6 --- Dashboard/Controls/ResourceMetricsContent.xaml.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Dashboard/Controls/ResourceMetricsContent.xaml.cs b/Dashboard/Controls/ResourceMetricsContent.xaml.cs index 276f8390..3665466f 100644 --- a/Dashboard/Controls/ResourceMetricsContent.xaml.cs +++ b/Dashboard/Controls/ResourceMetricsContent.xaml.cs @@ -1754,6 +1754,19 @@ private async Task RefreshWaitStatsDetailTabAsync() }) .ToList(); + // Ensure poison waits are always in the picker even if they have no collected data + foreach (var poisonWait in TabHelpers.PoisonWaits) + { + if (!waitTypes.Any(w => string.Equals(w.WaitType, poisonWait, StringComparison.OrdinalIgnoreCase))) + { + waitTypes.Add(new WaitTypeSelectionItem + { + WaitType = poisonWait, + IsSelected = previouslySelected.Contains(poisonWait) + }); + } + } + // If nothing was previously selected, apply poison waits + usual suspects + top 10 if (!waitTypes.Any(w => w.IsSelected)) {