commit | 621a58d8c5edcf4175ec83de057224eb249575a2 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Fri Aug 26 16:46:06 2022 +0100 |
committer | Primiano Tucci <primiano@google.com> | Fri Aug 26 16:46:06 2022 +0100 |
tree | 6920719d20e1541f9f38973bcee55b7733e96ebe | |
parent | ed6fa8a3f18fec4081f419b45ab2dbfc2e78a5f1 [diff] |
TraceProcessor: add android_dumpstate table and ingestion Before this CL we would ingest only the persistent logcat from a BR. With this CL, we are ingesting also: - The non-persistent logcat from the bugreport-xxx.txt file (also known as "dumpstate" output) - The other, non-logcat, sections of dumpstate. Dumpstate is organized in a two level hierarchy (beautifully flattened into one text file with load bearing ----- markers): 1. Various dumpstate sections, examples: ``` ------ DUMPSYS CRITICAL (/system/bin/dumpsys) ------ ... ------ SYSTEM LOG (logcat -v threadtime -v printable -v uid -d *:v) ------ ... ------ RADIO LOG (logcat -b radio -v threadtime -v printable -v uid -d *:v) ------ ... ------ IPTABLES (iptables -L -nvx) ------ ... ------ DUMPSYS HIGH (/system/bin/dumpsys) ------ ... ------ DUMPSYS (/system/bin/dumpsys) ------ ``` 2. Within the "DUMPSYS" section (note dumpsys != dumpstate), there are multiple services. Note that there are at least 3 DUMPSYS sections (CRITICAL, HIGH and default), and each reports multiple services: ``` ------ DUMPSYS (/system/bin/dumpsys) ------ ------------------------------------------------------------------------------- DUMP OF SERVICE activity: ... ------------------------------------------------------------------------------- DUMP OF SERVICE input_method: ... ------------------------------------------------------------------------------- ``` This CL creates one `android_dumpstate` table that has three columns: (1) section; (2) service and (3) line, containing one row per line. This is to help future dumpsys/dumpstate parsers to query their own sections. Bug: 240159066 Change-Id: Iefa8b2fe1f31697237c2debe295a691c3d88ef0f
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.