title: Android Systrace tool internally uses strace or ftrace?
body: <p><strong>Systrace</strong> Android tool calls internally a tool called <strong>atrace</strong> which is and extension of <strong>ftrace</strong> or <strong>strace</strong> (Linux tools). </p>
  
  <p>If we connect via the emulator console (ADB shell) to Android Jelly Bean we can execute <strong>strace</strong> tool but we <strong>can not</strong> execute <strong>ftrace</strong> tool (command not installed). </p>
  
  <p>Doing some reseach over the Internet I found that <strong>strace</strong> is a predecessor of <strong>ftrace</strong>:
  <a href="http://crtags.blogspot.de/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html" rel="noreferrer">http://crtags.blogspot.de/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html</a></p>
  
  <p>Looking to Android Source Code, the most "<em>internal</em>" reference that I found is <strong>Trace.h</strong> file:
  <a href="http://androidxref.com/4.1.1/xref/frameworks/native/include/utils/Trace.h" rel="noreferrer">http://androidxref.com/4.1.1/xref/frameworks/native/include/utils/Trace.h</a></p>
  
  <p>I think that this file is then resolved to a native Linux driver.</p>
  
  <p>However, I'm still unable to know if this implementation driver belongs to <strong>strace</strong> or <strong>ftrace</strong>. "Normally", it should be <strong>ftrace</strong> because it is newer, but in that case I don't know why we can not run <strong>ftrace</strong> from the emulator. In contrast, <strong>strace</strong> is completely available from the emulator.</p>
  
  <p>Then, does someone knows if <strong>Systrace</strong> Android tool uses at a very low level <strong>strace</strong> or <strong>ftrace</strong>?</p>
  
  <p>Thank you!</p>