commit | 3264b59fabe56d412551f768210ce9d5790fe829 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Mon Nov 08 18:20:51 2021 +0000 |
committer | Primiano Tucci <primiano@google.com> | Mon Nov 08 18:20:51 2021 +0000 |
tree | b2cba34cc6019f04c80eee32f07dde580c70c1d4 | |
parent | 81b34d6f3de4a268019af0bb3d1c05d43cb1ba85 [diff] |
TraceProcesor: unique_ptr<uint8_t> -> TraceBlob A non-functional refactoring to TraceProcessor. This CL mainly replaces all the places where we pass around a pair of (unique_ptr<uint8_t>, size_t) with an explicit TraceBlob. It also simplifies a bit the TraceBlobView code, reducing the indirection layers required to handle refcounting (the overall refcounting principle still holds though). The main benefit of that is removing one layer of pointer chasing when accessing TraceBlobView.data(). The main reason of this CL is to introduce support for mmaping the trace file on desktop (but still retain the owned-buf semantic for wasm and platforms where mmap is not supported). Bug: 205302474 Change-Id: I4f943bfcf0032cda910277b6d47851c73cb16316
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.