Skip to content

[SPARK-56049][UI] Add search/filter for metrics in SQL plan viz side panel#54887

Closed
yaooqinn wants to merge 1 commit intoapache:masterfrom
yaooqinn:SPARK-56049
Closed

[SPARK-56049][UI] Add search/filter for metrics in SQL plan viz side panel#54887
yaooqinn wants to merge 1 commit intoapache:masterfrom
yaooqinn:SPARK-56049

Conversation

@yaooqinn
Copy link
Copy Markdown
Member

@yaooqinn yaooqinn commented Mar 18, 2026

What changes were proposed in this pull request?

Add a search input to the SQL plan visualization side panel that filters metrics by name in real-time.

  • Appears when a node has more than 5 metrics (e.g., Exchange nodes with 20+ shuffle metrics)
  • Typing filters table rows by matching the metric name column
  • Instant filtering — no debounce needed for small tables

Why are the changes needed?

Exchange and WholeStageCodegen nodes can have 20+ metrics. Scrolling through all of them to find a specific metric (e.g., "spill", "duration", "data size") is tedious. The search box lets users type a keyword to instantly filter to relevant metrics.

Does this PR introduce any user-facing change?

Yes — a "Filter metrics..." search box appears in the side panel when a node has many metrics.

How was this patch tested?

Manual testing. JS-only change, no Scala changes.

Was this patch authored or co-authored using generative AI tooling?

Yes, Generated-by: GitHub Copilot(claude-opus-4.6-1m).

…panel

Add a search input to the SQL plan visualization side panel that
filters metrics by name. Appears when a node has more than 5 metrics
(e.g., Exchange with 20+ shuffle metrics). Typing filters rows in
real-time by matching the metric name column.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Member

@dongjoon-hyun dongjoon-hyun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, LGTM. Thank you, @yaooqinn .

@dongjoon-hyun
Copy link
Copy Markdown
Member

dongjoon-hyun commented Mar 18, 2026

BTW, are you going to use your personal message instead of complying the Apache Spark Pull Request template, @yaooqinn ?

Screenshot 2026-03-18 at 11 48 41

I'm not sure why the Copilot ignores the pull request template, but when I ask Cluade Caude to write a PR description based on the pull request template (here, I used the file reference feature of Claude Claude), Claude Code works well by respecting the Apache Spark Pull Request template like the following. In these days, it's rare to write the PR description from the scratches. I assume that you are also taking advantage of Copilot for your PR description writing.

Screenshot 2026-03-18 at 11 51 08

If generative AI tooling has been used in the process of authoring this patch, please include the
phrase: 'Generated-by: ' followed by the name of the tool and its version.

@yaooqinn
Copy link
Copy Markdown
Member Author

Thank you @dongjoon-hyun, update the desc

@dongjoon-hyun
Copy link
Copy Markdown
Member

Thank you so much!

@dongjoon-hyun
Copy link
Copy Markdown
Member

I verified manually. Merged to master. Thank you again, @yaooqinn .

Screenshot 2026-03-18 at 21 05 09

@yaooqinn yaooqinn deleted the SPARK-56049 branch March 19, 2026 04:37
@yaooqinn
Copy link
Copy Markdown
Member Author

Thank you @dongjoon-hyun

terana pushed a commit to terana/spark that referenced this pull request Mar 23, 2026
…panel

### What changes were proposed in this pull request?

Add a search input to the SQL plan visualization side panel that filters metrics by name in real-time.

- Appears when a node has **more than 5 metrics** (e.g., Exchange nodes with 20+ shuffle metrics)
- Typing filters table rows by matching the metric name column
- Instant filtering — no debounce needed for small tables

### Why are the changes needed?

Exchange and WholeStageCodegen nodes can have 20+ metrics. Scrolling through all of them to find a specific metric (e.g., "spill", "duration", "data size") is tedious. The search box lets users type a keyword to instantly filter to relevant metrics.

### Does this PR introduce _any_ user-facing change?

Yes — a "Filter metrics..." search box appears in the side panel when a node has many metrics.

### How was this patch tested?

Manual testing. JS-only change, no Scala changes.

### Was this patch authored or co-authored using generative AI tooling?

Yes, Generated-by: GitHub Copilot(claude-opus-4.6-1m).

Closes apache#54887 from yaooqinn/SPARK-56049.

Authored-by: Kent Yao <kentyao@microsoft.com>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
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.

2 participants