Systrace Android-инструмент внутри вызывает инструмент под названием atrace, который является расширением ftrace или strace (инструменты Linux).
Если мы подключимся через консоль эмулятора (оболочку ADB) к Android Jelly Bean, мы сможем запустить инструмент strace, но мы не сможем запустить инструмент ftrace (команда не установлено).
Проведя небольшое исследование в Интернете, я обнаружил, что strace является предшественником ftrace: http://crtags.blogspot.de/2012/04/dtrace.-ftrace-ltrace-strace-so-many-to.html
Глядя на исходный код Android, наиболее "внутренней" ссылкой, которую я нашел, является файл Trace.h: http://androidxref.com/4.1.1/xref/frameworks/native/include/utils/Trace.h
Я думаю, что этот файл затем разрешается в собственный драйвер Linux.
Однако я до сих пор не могу определить, принадлежит ли этот драйвер реализации strace или ftrace. «Обычно» это должен быть ftrace, потому что он новее, но в таком случае я не знаю, почему мы не можем запустить ftrace из эмулятора. Напротив, strace полностью доступен из эмулятора.
Тогда кто-нибудь знает, использует ли инструмент Systrace Android на очень низком уровне strace или ftrace?
Спасибо!