summaryrefslogtreecommitdiff
path: root/startop/scripts/iorap/compiler.py
AgeCommit message (Collapse)Author
2019-09-10startop: add compiler type support to host and device switch.Yan Wang
When using device, the python modules for host are not loaded to be compatiable in tradefed. Test: pytest Test: python app_startup_runner.py --package com.google.android.GoogleCamera --readahead fadvise --inodes textcache --output output.txt -lc 1 -d Change-Id: I9fe54045fbabda5f66ebe1cfe6d0a5461fff0640
2019-09-03startop: Fix comments in gerrit CL 9172239.Yan Wang
Test: pytest Change-Id: I706730c8d54e575e26ff0e2bdbb668d2e70a5c2e
2019-08-08startop: Change trace duration in compiler.py to timedelta.Yan Wang
The time in timestamp is second, while the trace duration is millisecond. Using timedelta to fix this ambiguity. Test: pytest compiler_test.py Change-Id: I6c445c3dac1b60aec77ead14df021b8a2dda7b5e
2019-07-31startop: Add support for trace duration.Yan Wang
Test: pytest app_startup/ Bug: 138233470 Change-Id: Ic8e99b369d3385015d7c86624a61bb6d5e8fdc70
2019-07-22startop: Add support to perfetto trace in compiler.py.Yan Wang
Test: pytest compiler_test.py Bug: 137398235 Change-Id: I6968644d5c44b88e1207dfdaaa379f643d036443
2019-07-18startop: Add test for compiler.py.Yan Wang
Test: pytest compiler_test.py Bug: 137398235 Change-Id: I036ed1fee1451176ef854a9a00c460eb0685bafe
2019-07-17Add support of trace duration for host python compiler.Yan Wang
The basic idea is add timestamp for MmFilemapAddToPageCache. Treat the first receiving MmFilemapAddToPageCache timestamp as the start time. The end time is the sum of start time and duration. Any MmFilemapAddToPageCache after end time is filtered out. Test: pytest trace2db_test.py Bug: 137398235 Change-Id: Ib9c439f3ae0ca666eacb08492361217d89adec34
2019-06-26startop: Add iorap compiler written in pythonIgor Murashkin
Compiler will be used for experimentation purpose since it's both easier to develop in python and it accepts ftrace, making it very easy to write complicated-experimental changes that we aren't sure are worth it yet for the on-device C++/perfetto compiler. This 'new' compiler accepts ftrace/systrace files as input, then generates an in-memory sqlite3 database (using the trace_analyzer source code), and finally code-generates a TraceFile.pb protobuf. (Also refactor trace_analyzer into a library, and update it to parse systrace.html files) Limitations: currently does not accept perfetto_trace.pb files due to 'ofs' fields missing (see bug#135555191) Test: py.test-3 frameworks/base/startop/scripts Test: ./compiler.py -i tmp_sargo/textcache -t tmp_sargo/trace.html -o tmp/output.pb Test: ./compiler.py -i tmp_sargo/textcache -t tmp_sargo/trace.html -o tmp/output.pb -f '^/data' Test: ./trace_analyzer music_run.trace tmp_dbs/12345.db Bug: 135557978 Bug: 134789969 Change-Id: Ic8295900ee9e634b4cfd8cf99b671ae08d2ea4f7