vaadin / vaadin/observability-kit

Redesign the dev tools panel as a view profiler

Open
#393 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement ui
Dominant language
Java
Stars
7
Forks
5
Avg merge
2d 16h
Merged PRs (30d)
25

Description

The dev tools panel is a flat meter table. What a developer needs is an answer to one question: what did the interaction I just made in this view cost? Every mainstream framework profiler answers it the same way, with one record per interaction, the database as the headline figure, and scope limited to the developer's own session.

Replace the meter table with a per-view layout:

  • Header with the route template and view class, and a toggle between this tab and all users. The all-users side is the aggregate the kit already has for the route.
  • Chips for server time, query count with total query time, and retained UI state nodes.
  • Interaction list, newest first, coloured when over the UX budget and on failure.
  • Waterfall for the selected interaction, built from the nested vaadin.request, vaadin.rpc, vaadin.data.fetch and vaadin.db.query spans.
  • Query table with statement, rows, time and identical-statement count.
  • Open the application frame in the IDE through the Copilot file command.
  • Footer with this UI's retained state and this route's browser timings (LCP, FCP, last navigation).
  • Before the first interaction, show what to do instead of an empty table.

Keep the existing Copilot plugin registration. Depends on #392 for the per-UI records.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing dev tools panel and its Copilot plugin registration. Review the per-UI records from #392 and the nested vaadin.request, vaadin.rpc, vaadin.data.fetch, and vaadin.db.query spans. Done means the panel presents the specified per-view profiler layout, interaction guidance, waterfall, query details, IDE action, and timing footer without removing the existing registration.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
devtools, observability-sre
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.