flutter / flutter/devtools

Rewrite the DevTools flame chart to snap to the selected tree branch

Offen
#8,533 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
flame_chart P2 screen: cpu profiler
Vorherrschende Sprache
Dart
Sterne
1.7k
Forks
404
Ø Merge
6 T. 17 Std.
Gemergte PRs (30 T.)
18

Beschreibung

The DevTools flame chart currently supports W-A-S-D keys to zoom and pan. Some flame chart implementations, like Perfetto's CPU flame chart, do not support these gestures. Instead, clicking on a stack frame will "snap" the chart to that specific branch of the tree. From the selected node up, all stack frames are rendered as single-parent-single-child relationships, and then the selected nodes children are rendered as normal. To "zoom out" or navigate up the tree, you can select once of the currently selected node's ancestors.

Screenshot 2024-11-19 at 2 07 01 PM
_perfetto's CPU flame chart_

This would help some of the performance issues we have with the current CPU flame chart (e.g. https://github.com/flutter/devtools/issues/3876) and also simplify the code. This also would make the experience similar to other CPU flame chart tools users are used to using.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start by locating the current DevTools CPU flame chart and its W-A-S-D zoom and pan handling. Compare its behavior with the described Perfetto CPU flame chart interaction; done means selecting a stack frame snaps to that branch, renders its ancestors as single-child paths, and allows navigating up by selecting an ancestor.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
dart
Bereich
devtools, performance
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.