commit | 02aad8d12101f1f8295b6ef0d264c786c29bdb5c | [log] [tgz] |
---|---|---|
author | Steve Golton <stevegolton@google.com> | Mon Apr 29 15:14:55 2024 +0100 |
committer | Steve Golton <stevegolton@google.com> | Mon Apr 29 15:14:55 2024 +0100 |
tree | 7c9dbe104fc9bf3681c905a0e15cff087e268436 | |
parent | a6607f90a4fa8050e451196f11c2d2d2d47cb74b [diff] |
ui: Use UUIDs for table names in all tracks Currently there is a potential race when using the trackKey to generate table names. When a track is desroyed, it is destroyed asynchronously, so it can take a little while before e.g. tables are dropped. This means that tracks can be destroyed and recreated with the same trackKey before a previous incarnation of the track has been destroyed resulting in table name clashes. While there might be better ways to address this issue at a global level, this patch implements the easy solution - using a uniquely generated uuid per track instance to create table names instead of the trackKey. This could inroduce memory spikes, while new tracks are initialized while old tracks still exist, but it's better to be functionally correct at least for the time being, and this is no worse than it was before. This patch also addresses a formatting issues in base_slice_track.ts where the unsanitized track key was being used in the table name which could contain underscores e.g. in debug tracks. Bug: 337801510 Change-Id: Ifbdecf2e82a61abf5223b7357755929e5c7f2ec2
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.