summaryrefslogtreecommitdiff
path: root/tools/incident_section_gen
diff options
context:
space:
mode:
authorRyan Savitski <rsavitski@google.com>2019-06-03 23:57:09 +0100
committerRyan Savitski <rsavitski@google.com>2019-06-07 18:13:56 +0100
commitcc7d9973c6a22f2bc1393641ce396933ac8744c1 (patch)
tree3af838fbc6abda5413fa97c7a0a0c8b71b9ca22e /tools/incident_section_gen
parentd4d9b233b2dd7d6059a293bb638ee97287de81b7 (diff)
userdebug: support perfetto traces as a section in incident reports
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)
Diffstat (limited to 'tools/incident_section_gen')
-rw-r--r--tools/incident_section_gen/main.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/incident_section_gen/main.cpp b/tools/incident_section_gen/main.cpp
index c9c0edc59585..91f875ed9918 100644
--- a/tools/incident_section_gen/main.cpp
+++ b/tools/incident_section_gen/main.cpp
@@ -408,9 +408,10 @@ static bool generateSectionListCpp(Descriptor const* descriptor) {
for (int i=0; i<descriptor->field_count(); i++) {
const FieldDescriptor* field = descriptor->field(i);
- if (field->type() != FieldDescriptor::TYPE_MESSAGE
- && field->type() != FieldDescriptor::TYPE_STRING) {
- continue;
+ if (field->type() != FieldDescriptor::TYPE_MESSAGE &&
+ field->type() != FieldDescriptor::TYPE_STRING &&
+ field->type() != FieldDescriptor::TYPE_BYTES) {
+ continue;
}
const SectionFlags s = getSectionFlags(field);