commit | a621a8a08d133860da9cfb03410d13530963b331 | [log] [tgz] |
---|---|---|
author | Leszek Swirski <leszeks@google.com> | Fri Aug 30 18:12:37 2024 +0200 |
committer | Leszek Swirski <leszeks@google.com> | Fri Aug 30 18:46:16 2024 +0000 |
tree | 7bd34b7c9b325229a5420522aeb06f9223c8da91 | |
parent | 24eef196e10d29d3a6c35204770bc12cd7253706 [diff] |
[trace-processor] Add importer for Instruments XML files This adds an importer for Instruments XML files, as exported from an Instruments trace with `xtrace export` (see code comments for the exact command line and XML format). Specifically, the XML tokenizer parses the XML into time sample Row data structures, which are inserted into the sorter and then semi-trivially parsed after sorting into frames, callsites, and samples. Row timestamps are relative to the start of Instruments profiling -- there is support for clock sync events in the profile to sync these timestamps against Perfetto's boottime clock. The XML parsing requires pulling in a dependency on libexpat, which is a third-party streaming XML parser. Bug: 362665903 Change-Id: I7e638f0b3c7275214aef3410f6263fb75e3968ac
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.