commit | 95f126da184ea1050e7644910521fde3008e7fcc | [log] [tgz] |
---|---|---|
author | Ryan Savitski <rsavitski@google.com> | Sun Mar 08 22:36:53 2020 +0000 |
committer | Ryan Savitski <rsavitski@google.com> | Sun Mar 08 22:36:53 2020 +0000 |
tree | 2a968baaf71c6132acf21d3fffec0fe6e1a3f47d | |
parent | 7e47609cf293761567803b76069f59c6a6cb46dd [diff] |
traced_perf: unwind queue type In the perf profiler, there's a need for samples to be enqueued between the reader, and the unwinder. There will be a single writer thread, and a (separate) single reader thread. The queue is implemented as a basic ring buffer of an arbitrary type (std::array<T, N> + atomic rd/wr pointers). The implementation is generic, but I've kept the type with a dedicated name (UnwindQueue) until we find a need to reuse it. Likewise, the read and write primitives are skewed towards the expected use-case: writer commits entries one by one, reader can consume a batch of contiguous entries. See follow-up patch for more context. Bug: 144281346 Change-Id: I83d7d6100f5cf52fa91c93d6c75624af6b788b7e
Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.
See www.perfetto.dev for docs.
See /docs/contributing.md for instructions.
The source-of-truth repo is Android's Gerrit. The GitHub repo is a read-only mirror.
You can reach us on our Discord channel. If you prefer using IRC we have an experimental Discord <> IRC bridge synced with #perfetto-dev
on Freenode.