commit | 9a8431186c73e3a41950352bbff10d01431df7c5 | [log] [tgz] |
---|---|---|
author | Lalit Maganti <lalitm@google.com> | Tue Nov 10 13:39:05 2020 +0000 |
committer | Lalit Maganti <lalitm@google.com> | Tue Nov 10 14:00:32 2020 +0000 |
tree | 59b0775e8e2bc8343d34504238d57412c9f8ae9e | |
parent | 952ef3e0647215edbae15a45fe4cabc4b33ddd69 [diff] |
tp: implement refcounting of packet sequence generations This CL implements ref-counting of incremental state generations. This is required because the new ftrace kernel symbolization clears incremental state very frequently and generations hold onto the whole chunk of the trace indirectly: PacketSequenceStateGeneration -> TraceBlobView -> SharedBuf This ends up keeping the whole trace in memory forever which we would definitely want to avoid for big traces. Memory usage on a 470MB trace: TOT 1043 MB Remove Interning 589 MB This patch 593 MB Change-Id: Iaf30623abbb67f5bf8729e6ec3fdef0cee7a0838
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.