This set of patches adds a way for the perfetto command line client to save a trace to a hardcoded location, /data/misc/perfetto-traces/incident-trace, and call into incidentd to start a report, which will include said trace in a new section. This is not a long-term solution, and is structured to minimize changes to perfetto and incidentd. The latter is currently architected in a way where it can only pull pre-defined information out of the system, so we're resorting to persisting the intermediate results in a hardcoded location. This will introduce at most two more linked files at the same time. Bug: 130543265 Tested: manually on crosshatch-userdebug Merged-In: Iaaa312d2d9da73ca329807211227a8c7a049102c Change-Id: Iaaa312d2d9da73ca329807211227a8c7a049102c (cherry picked from commit 09a847902fa428f97841c3689b9f11243cc60460)
incident_helper
It is an executable used to help parsing text format data to protobuf.
How to build, deploy, unit test
For the first time, build the test and create an empty directly on device:
root$ make -j incident_helper_test && adb shell mkdir /data/nativetest64/incident_helper_test
Run the test on a device
root$ mmm -j frameworks/base/cmds/incident_helper && \
adb push $OUT/data/nativetest64/incident_helper_test/* /data/nativetest64/incident_helper_test/ && \
adb shell /data/nativetest64/incident_helper_test/incident_helper_test 2>/dev/null
How to adapt proto changes
If add a new proto file, add it in Android.bp under frameworks/base/ and make incident helper
root$ make -j48 incident_helper