commit | 886244d4e306f10dba00bd0cbaf7960951dc15a4 | [log] [tgz] |
---|---|---|
author | Lalit Maganti <lalitm@google.com> | Tue Jul 02 18:59:57 2024 +0100 |
committer | Lalit Maganti <lalitm@google.com> | Tue Jul 02 18:59:57 2024 +0100 |
tree | 78e601e9f8872615d1c1082020716f653a588f83 | |
parent | 1741053bf8dd4559b7b928e3ef27e89ec5700a42 [diff] |
ui: introduce new flamegraph widget and use it for java heap dumps This CL introduces a new flamgraph widget which is far superior to the existing flamgraph implementation in many ways: - supports filtering stacks/frames - sources data from any arbitrary source, not use hardcoded use of experimental_flamgraph - improves the UX for hover - collapses linked lists (and other recursive data structures) down instead of arbitrarily truncating This CL also starts using this widget in the Java heap graph details panel as that was the use-case which is suffering the most right now. For example, the runtime of a dominator tree flamegraph has been cut from multiple minutes to 5s. Also while I'm here, improve the heap profile track query as well to be significantly better. Change-Id: Ib8444b642e78e69b041adde716976c2f3822c92f
Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.
See https://perfetto.dev/docs or the /docs/ directory for documentation.