Repository navigation
LITE: the Blocking Trends, Blocking Stats and Lock Wait Trend charts say where their data starts (part of #4966) - #5096
Merged
Conversation
erikdarlingdata
marked this pull request as ready for review
October 4, 2026 18:16
This was referenced Oct 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Part of #4966. On Lite's Blocking tab, five charts draw zeros across the chosen window even where the store holds no data yet: the Trends sub-tab's Lock Wait, Blocking and Deadlock trends, and the two chart pairs on Blocking Stats (they pad their ends with zero). An empty stretch then reads as "nothing happened". Each now shows the same "Showing since" note Lite's grids carry, worded and placed as the Darling desktop viewer's #5030 does.
LockWaitTrendTruncationBannerQueryWindowRelation.WaitStats(new, the wait_stats collector)BlockingTrendTruncationBannerBlockedProcessReports(which also counts the DMV blocking snapshots, for a server with no blocked process threshold)DeadlockTrendTruncationBannerDeadlocksBlockingStatsBlockingTruncationBannerBlockedProcessReportsBlockingStatsDeadlockTruncationBannerDeadlocksWhat users see change
What changes
Lite/Controls/ServerTab.BlockingChartsDataStart.cs(new):RefreshBlockingTrendsBannersAsyncandRefreshBlockingStatsBannersAsync. They run after the charts are drawn, over the same UTC window the reads took, through the sharedRefreshWindowTruncatedBannerAsyncstep, so the probe, the 90-minute rule, the picker zone and the failed-probe rule are the ones every other Lite note uses.EarlierOfFloorAndRowShown); a zero bucket is the chart's baseline, not an event.Lite/Controls/ServerTab.Refresh.cs: the two refresh paths call the steps.Lite/Controls/ServerTab.xaml: the five collapsed notes, one above each chart or chart pair.Lite/Services/LocalDataService.QueryWindowFloor.cs: theWaitStatsrelation (viewv_wait_stats, collectorwait_stats), appended after LITE: the latch and spinlock trend charts say where their data starts (part of #4966) #5086'sLatchStatsandSpinlockStats.Test plan
Lite.Tests/BlockingChartsDataStartTests.cs(new, 19 tests: 14 behaviour and source-pin tests plus a 5-row theory): for each of the five charts, a notice test (the data starts inside the window, so the note names the coverage start) and a quiet-start test (the window is covered but its first point is late, so there is no note); plus a point drawn before the coverage start is what the note names, zero buckets are not points drawn, every refresh path runs the note steps and the XAML carries the five notes, and theWaitStatsrelation names its view and collector.Refresh*BannersAsyncbodies replaced byawait Task.CompletedTask), so a pin theory,BlockingBannerSteps_CallEachNote_WithItsRelation, was added: one row per note, asserting the step body holds the exact call. On the notes-off branch the class gave Total: 19, Failed: 5 (all five new rows). On this branch: Total: 19, Failed: 0.BlockingChartsDataStartTests19, 0 failed;DataStartBannerLatchSpinlockTests7/0;DataStartBannerBlockingEventsTests14/0;DataStartBannerSurfaceTests94/0;DataStartBannerTests13/0.--no-incrementalbuilds of Darling.Tests and Lite.Tests: 0 warnings, 0 errors.Limits
CHANGELOG
SECTION: Fixed
ENTRY: - Lite's Blocking Trends, Blocking Stats and Lock Wait Trend charts say where their data starts ([#5096]) - when the store's data begins inside the chosen window, the charts show a "Showing since" note instead of drawing zeros as if nothing had happened.
REF: [#5096]: #5096