ui: Remove circular dependency related to public/index.ts The circular dependency looks like this: ``` cycle: [ 'ui/tsc/public/index.js', 'ui/tsc/frontend/debug_tracks/debug_tracks.js', 'ui/tsc/frontend/debug_tracks/slice_track.js', 'ui/tsc/frontend/debug_tracks/details_tab.js', 'ui/tsc/frontend/slice_args.js', 'ui/tsc/frontend/visualized_args_tracks.js', 'ui/tsc/public/index.js' ], ``` The issue is that public/index.ts is becoming a bit of a god file, which is a nightmare for circular deps. This one was fixed by breaking the chain through public/index.ts, by moving a lot of the track interfaces defined here into frontend/tracks.ts instead, and then exporting them through public/index.ts so plugins can use them. This means a lot of the core files that use these track interfaces can now just refer to core/tracks.ts, rather than depending on the whole of public/index.ts. Change-Id: I40768aaf758c79620b5a04a119d6d6c612eda49c
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.