Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid Systrace Trace File Format
    text
    copied!<p>Android <strong>systrace</strong> tool, calls <strong>atrace</strong> tool via ADB. However, I don't understand very well the format of the traces file. Apparently it is very similar to linux <strong>ftrace</strong> tool with some differences. The main difference is that is doesn't uses a <strong>System.Map</strong> file but it includes all that information into the trace file. Also, there are new B|E entries that are android specific.</p> <p>There is some information about this format in Android Source Code at: <a href="http://androidxref.com/4.1.1/xref/external/chromium-trace/src/tracing/linux_perf_importer.js" rel="noreferrer">http://androidxref.com/4.1.1/xref/external/chromium-trace/src/tracing/linux_perf_importer.js</a></p> <p>However, in that documentation we can read that the format belongs to Linux <strong>Perf</strong> Tool. I don't think so, linux perf gives as an output a very different format... (unless some special configuration is active...)</p> <p>My question is: Does anybody know where can I found an official documentation about android trace files generated with <strong>atrace</strong> tool from adb?</p> <p>Is this format familiar to you ?</p> <pre><code># tracer: nop # # entries-in-buffer/entries-written: 66427/66427 #P:2 # # _-----=&gt; irqs-off # / _----=&gt; need-resched # | / _---=&gt; hardirq/softirq # || / _--=&gt; preempt-depth # ||| / delay # TASK-PID CPU# |||| TIMESTAMP FUNCTION # | | | |||| | | atrace-1724 [000] d..3 14186.680000: sched_switch: prev_comm=atrace prev_pid=1724 prev_prio=120 prev_state=S ==&gt; next_comm=swapper/0 next_pid=0 next_prio=120 &lt;idle&gt;-0 [000] d.h7 14186.690000: sched_wakeup: comm=tfm_b6bcf800 pid=1714 prio=35 success=1 target_cpu=000 &lt;idle&gt;-0 [000] d..3 14186.690000: sched_switch: prev_comm=swapper/0 prev_pid=0 prev_prio=120 prev_state=R ==&gt; next_comm=tfm_b6bcf800 next_pid=1714 next_prio=35 tfm_b6bcf800-1714 [000] d..3 14186.690000: sched_switch: prev_comm=tfm_b6bcf800 prev_pid=1714 prev_prio=35 prev_state=D|W ==&gt; next_comm=swapper/0 next_pid=0 next_prio=120 &lt;idle&gt;-0 [001] d.h3 14186.690000: sched_wakeup: comm=Player Aud Mixe pid=146 prio=35 success=1 target_cpu=001 &lt;idle&gt;-0 [001] d..3 14186.690000: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==&gt; next_comm=Player Aud Mixe next_pid=146 next_prio=35 Player Aud Mixe-146 [001] d..3 14186.690000: sched_switch: prev_comm=Player Aud Mixe prev_pid=146 prev_prio=35 prev_state=D ==&gt; next_comm=swapper/1 next_pid=0 next_prio=120 &lt;idle&gt;-0 [001] d.h3 14186.690000: sched_wakeup: comm=Player Aud Mixe pid=146 prio=35 success=1 target_cpu=001 &lt;idle&gt;-0 [001] d..3 14186.690000: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==&gt; next_comm=Player Aud Mixe next_pid=146 next_prio=35 Player Aud Mixe-146 [001] d..3 14186.690000: sched_switch: prev_comm=Player Aud Mixe prev_pid=146 prev_prio=35 prev_state=S ==&gt; next_comm=swapper/1 next_pid=0 next_prio=120 &lt;idle&gt;-0 [001] d.h3 14186.700000: sched_wakeup: comm=Player Aud Mixe pid=146 prio=35 success=1 target_cpu=001 &lt;idle&gt;-0 [001] d..3 14186.700000: sched_switch: prev_comm=swapper/1 prev_pid=0 prev_prio=120 prev_state=R ==&gt; next_comm=Player Aud Mixe next_pid=146 next_prio=35 EventThread-110 [001] d..5 14190.100000: sched_wakeup: comm=SurfaceFlinger pid=103 prio=112 success=1 target_cpu=001 EventThread-110 [001] d..3 14190.100000: sched_switch: prev_comm=EventThread prev_pid=110 prev_prio=111 prev_state=S ==&gt; next_comm=SurfaceFlinger next_pid=103 next_prio=112 SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|onMessageReceived SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|handleTransaction SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|doTransaction SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: E SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: E SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|handleMessageInvalidate SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: E SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: E SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|onMessageReceived SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|handleMessageRefresh SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|rebuildLayerStacks SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|computeVisibleRegions SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: E SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: E SurfaceFlinger-103 [001] ...1 14190.100000: tracing_mark_write: B|96|doComposition SurfaceFlinger-103 [001] d.h4 14190.100000: sched_wakeup: comm=surfaceflinger pid=96 prio=120 success=1 target_cpu=001 SurfaceFlinger-103 [001] d..3 14190.100000: sched_switch: prev_comm=SurfaceFlinger prev_pid=103 prev_prio=112 prev_state=R ==&gt; next_comm=surfaceflinger next_pid=96 next_prio=120 </code></pre> <p>Thanks in advance !</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload