Skip to content

Runtime card refinements (#215 E7-E11)#270

Merged
erikdarlingdata merged 1 commit into
devfrom
fix/runtime-card-e7-to-e11
Apr 24, 2026
Merged

Runtime card refinements (#215 E7-E11)#270
erikdarlingdata merged 1 commit into
devfrom
fix/runtime-card-e7-to-e11

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

Five Joe-feedback items on the Runtime card:

  • E7: title reads "Predicted Runtime" for estimated plans
  • E8: used grant % > 100 is red (over-used grant, not green)
  • E9: any operator spill forces grant tier to eff-warn at best
  • E10: "⚠ spill" indicator next to the Used row when anything spilled
  • E11: reorder Elapsed → CPU:Elapsed → DOP → CPU → Compile → Memory → Used → Optimization → CE Model → Cost (moves Cost from first to last across all three surfaces; adds CPU:Elapsed to Avalonia)

Version 1.7.8 → 1.8.0 (this is the first PR of a batch — subsequent PRs will stay at 1.8.0 for one bundled release).

🤖 Generated with Claude Code

- E7: card title is "Predicted Runtime" for estimated plans ("Runtime" for
  actual). Applied on HTML export, web viewer, and Avalonia (via new
  RuntimeSummaryTitle x:Name binding).
- E8: used grant % > 100 is rendered as eff-bad (red) — an over-used grant
  is the opposite of healthy, not green.
- E9: any operator in the plan that spilled to tempdb also forces the grant
  tier to eff-warn at best, regardless of utilization %. A 60%-used grant
  with a spilled sort underneath isn't "good".
- E10: spill indicator appended to the Memory/Used row when any operator
  warning has a type ending in "Spill". Shows as "⚠ spill" (HTML + web use a
  styled .spill-tag span; Avalonia uses plain text suffix).
- E11: Runtime box reordered to Joe's preferred layout —
    Elapsed → CPU:Elapsed → DOP → CPU → Compile → Memory/Used → Optimization
    → CE Model → Cost
  Avalonia keeps its extra rows (UDF, Threads, Cached plan size, Grant wait,
  Early abort) slotted near logical neighbors. Cost moves from first to
  last across all three surfaces. Also adds a CPU:Elapsed row to the Avalonia
  panel (previously only on web and HTML).

New GetMemoryGrantColorClass / MemoryGrantColor helper centralizes the
tiering so the three surfaces stay consistent. HasSpillInTree /
HasSpillInPlanTree walks warnings looking for types that end with " Spill".

Version bump 1.7.8 -> 1.8.0.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit 40ade29 into dev Apr 24, 2026
2 checks passed
@erikdarlingdata erikdarlingdata deleted the fix/runtime-card-e7-to-e11 branch April 24, 2026 19:04
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