Fix utid in critical path stack _thread_executing_span_critical_path_stack concats the thread states and slice info on the thread itself with the thread states and slice info in the critical path of the thread. The 'self' utid was incorrect. Note that the UI always looked correct, because the thread_name and process_name columns were not broken. So even though the utid for the thread_state was broken, it was never displayed in the debug track. Fixed and added a more useful test that outputs one entire stack in time. Test: tools/diff_test_trace_processor.py out/android/trace_processor_shell --name-filter '.*thread_executing_span.*' Change-Id: I3dd3da33de96072564be0abfa8c3bedadaf43379
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.