commit | c51f3b483db447a703f0addfe59bf3f4916fad68 | [log] [tgz] |
---|---|---|
author | Chinglin Yu <chinglinyu@google.com> | Thu May 25 09:06:27 2023 +0000 |
committer | Chinglin Yu <chinglinyu@google.com> | Mon Aug 07 10:46:30 2023 +0800 |
tree | 2ab17f706cb2e389da427256cc4ed0c3e1b6587e | |
parent | 84c3f52305b010ae4c2f6ce12775a7902aed28f5 [diff] |
Support shmem-less ABI for the producer port This CL introduces an "emulation mode" for the shared memory ABI for sending trace data from producers to the service without cross-process shared memory: 1. When the producer IPC client sees a non-unix socket name like TCP or vsock, it enables the "emulation" mode for the socket ABI to serialize chunk content (header and payload) into the CommitDataRequest proto message. Then the chunk is released as free on the producer side. 2. When the service sees serialized data from the CommitDataRequest, it constructs the chunk by adopting the serialized chunk in the proto message. The chunk is discarded instead of being released to the shared memory buffer. Bug: 284258446 Change-Id: I65f96b4f00553c75b5f8af8c955427c681d10476
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.