Perfetto
Production-grade client-side tracing, profiling, and analysis
...It’s designed around a low-overhead producer/consumer model: instrumented components (“producers”) write binary events into shared memory buffers and a collector (“service”) reliably streams them to storage. The data model spans kernel and userspace, so you can stitch together CPU scheduling, app lifecycles, binder/IPC hops, GPU work, power and thermal signals, file I/O, heap samples, and more into a single coherent timeline. Perfetto’s ecosystem includes a web-based UI that can load multi-GB traces directly in the browser and an offline “trace processor” that exposes the trace as a queryable SQL-like table schema for deep analysis and automation. It integrates natively with Android (replacing older atrace/Systrace paths) and can sit alongside custom instrumentation in apps or services through its SDKs.