trace_to_text: Uses names from sched_switch trace_to_text does not exactly replicate the behavior of the kernel ftrace printer: Real systrace output: CrRendererMain-15021 (15001) [007] ...1 700.748465: task_newtask: pid=15066 comm=CrRendererMain clone_flags=3d0f00 oom_score_adj=0 TaskSchedulerSe-15066 (15001) [006] d..3 700.748705: sched_switch: prev_comm=CrRendererMain prev_pid=15066 prev_prio=120 prev_state=S ==> next_comm=swapper/6 next_pid=0 next_prio=120 TaskSchedulerSe-15066 (15001) [006] ...2 700.748852: task_rename: pid=15066 oldcomm=CrRendererMain newcomm=TaskSchedulerSe oom_score_adj=0 TaskSchedulerSe-15066 (15001) [006] d..3 700.749199: sched_switch: prev_comm=TaskSchedulerSe prev_pid=15066 prev_prio=120 prev_state=S ==> next_comm=swapper/6 next_pid=0 next_prio=120 Our output: CrRendererMain-18939 (-----) [001] d..3 876.702255: task_newtask: comm=CrRendererMain pid=18956 clone_flags=4001536 oom_score_adj=905 CrRendererMain-18956 (18905) [001] d..3 876.702766: sched_switch: prev_comm=CrRendererMain prev_pid=18956 prev_prio=120 prev_state=D ==> next_comm=swapper/1 next_pid=0 next_prio=120 CrRendererMain-18956 (18905) [000] d..3 876.705214: task_rename: pid=18956 oldcomm=CrRendererMain newcomm=TaskSchedulerFo oom_score_adj=905 TaskSchedulerFo-18956 (18905) [000] d..3 876.705255: sched_switch: prev_comm=TaskSchedulerFo prev_pid=18956 prev_prio=120 prev_state=D ==> next_comm=CrRendererMain next_pid=18960 next_prio=12 The systrace output uses the final name for the thread (far left) whereas trace_to_text uses the first name before the task rename and the new name after. This confuses the catapult importer. The real fix is to use the full trace_processor, but as a temporary fix we can look through all sched_switch events in the first trace to text pass to and extract the thread names from these. Bug: 124446759 Change-Id: I7409df6e566cd1b360f67f678473856ac5d4e25b
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.