commit | e965be2b8ee129a704ac120956a7a092589a9e3b | [log] [tgz] |
---|---|---|
author | Steve Golton <stevegolton@google.com> | Thu Nov 07 11:59:27 2024 +0000 |
committer | Steve Golton <stevegolton@google.com> | Thu Nov 07 11:59:27 2024 +0000 |
tree | dcc7dcb3a9686fa02c69d693a89848baea56fa8e | |
parent | 082cc384c491d4646d98949e62c9c1f191633252 [diff] |
ui: Simplify & merge 'simple' tracks & debug tracks - Merge debug* tracks and simple* tracks. - Add createQuerySliceTrack() & createQueryCounterTrack, which are async track factories that create a perfetto table from a query and return a track that uses that prefetto table. - The reason we do this up front rather than lazily in the track's onCreate function is because the details panel needs the source table, which could be selected before the track has been 'created'. This is what debug tracks have always done, so it's not really much of a change. - Rename simple_*_track.ts to query_*_track and move to public/lib. - Sensible defaults for track columns, as 90% of callsites were pointlessly specifying these repeatedly: - Slice tracks: {ts: 'ts', dur: 'dur', name: 'name'} - Counter tracks: {ts: 'ts', value: 'value'} - Make argColumns optional, as 90% of callsites passed an empty list here. - Changed addDebug*Track() to reuse createQuery*Track() on the backend. - Tweaked interface of addDebug*Track() to use the same defaults as createQuery*Track(), and move all args into an object so all args are named - for improved readability. - Remove 'Debug' theming from the slice table details panel as it's used for 'query' slice tracks as well, which are not debug tracks. Change-Id: Ibd1fb63da215792c42cce0ca83b3405aad9a49d5
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.