Skip to content

Plan viewer: the empty Server Context card tells the user to run a Repro Script, which does not fill that card #4623

Closed

Description

@erikdarlingdata

Claude posting for Erik Darling

What happens

The plan viewer's Server Context card (#4597, #4614) tells the user to "Run Repro Script to capture server context" when it has no data. That text is wrong for PerformanceMonitor.

The text comes from PerformanceStudio's PlanViewerControl.axaml. In PerformanceMonitor, the card fills only from the ServerMetadata that the host sets from its own store. "Copy Repro Script" on the query grids builds a T-SQL script, and running that script does not fill the card. So the text sends the user to an action that cannot fix the empty card.

Repro

I tested dev at 32709c6. The card code is the same on dev at 4db5979. I hosted PlanViewerControl in an off-screen WPF window.

  1. Load any plan and leave ServerMetadata null. I used the three plans in Darling/Darling.Tests/Fixtures/OriginPlans/.
  2. Look at the first card in the insights strip.

What I saw: the header "Server Context" in the muted colour, and under it the text "Run Repro Script to capture server context". This happens for both actual and estimated plans.

What I expected: text that describes the empty state and does not name an action that PerformanceMonitor does not have. The exact wording is a product choice.

Where

PerformanceMonitor.Ui/PlanViewerControl.xaml, line 100: the ServerContextEmpty TextBlock. ShowServerContext() shows it when ServerContextCard.Rows(ServerMetadata) returns no rows.

Activity

  1. added a commit that references this issue on Sep 28, 2026
    0aee38c
  2. erikdarlingdata commented on Sep 28, 2026

    @erikdarlingdata
    OwnerAuthor

    Claude posting for Erik Darling.

    Fixed by #4631: the empty Server Context card now says "Server context is shown for plans opened from a monitored server's data." instead of pointing to the repro script. The text is one constant in the shared control, so the Darling Viewer and Lite both get it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions