Я хочу получить отчет Systrace на своем телефоне Android во время автоматического тестирования. Неизвестно, сколько времени займет тестирование, поэтому я не могу указать период --time для Systrace.
Углубившись в systrace.py, я обнаружил, что systrace использует atrace для получения журналов ядра.
Я использовал adb shell atrace --help
и получил следующий вывод:
usage: atrace [options] [categories...]
options include:
-a appname enable app-level tracing for a comma separated list of cmdlines
-b N use a trace buffer size of N KB
-c trace into a circular buffer
-k fname,... trace the listed kernel functions
-n ignore signals
-s N sleep for N seconds before tracing [default 0]
-t N trace for N seconds [defualt 5]
-z compress the trace dump
--async_start start circular trace and return immediatly
--async_dump dump the current contents of circular trace buffer
--async_stop stop tracing and dump the current contents of circular
trace buffer
--list_categories
list the available tracing categories
Как я могу использовать atrace, чтобы начать трассировку в начале моего автоматического тестирования и остановить трассировку и создание дампа журнала ядра в конце моего автоматического тестирования?
Я пытался использовать следующие команды, но я не думаю, что они работают должным образом. Только async_dump дает мне некоторые данные в журнале. Дамп async_stop не имеет содержимого в журнале. Как правильно запустить трассировку, сбросить ее, а затем остановить?
adb shell atrace -b 10000 -c am shedgfx view --async_start > C:\Users\user1\Desktop\log.txt
adb shell atrace -b 10000 -c am shedgfx view --async_dump > C:\Users\user1\Desktop\log.txt
adb shell atrace -b 10000 -c am shedgfx view --async_stop > C:\Users\user1\Desktop\log.txt