Add support for perf aux data
This patch adds all the infrastructure necessary to parse aux data
contained in perf files. Aux data is just a stream of bytes that need to
be forwarded to a proper tokenizer that understands the data format.
What type of data is carried in the aux stream is determined by looking
at the AuxtraceInfo record. In this patch we have added a minimal
implementation for ETM data that just parses the configuration inside
the AuxtraceInfo record and discards all other data.
In the future we might add full support for ETM or support for other
types of data.
Change-Id: I612dd8fb21f69ac0478844315a11c25b5b419fe0
diff --git a/Android.bp b/Android.bp
index bd7070d..194287a 100644
--- a/Android.bp
+++ b/Android.bp
@@ -12478,11 +12478,18 @@
name: "perfetto_src_trace_processor_importers_perf_perf",
srcs: [
"src/trace_processor/importers/perf/attrs_section_reader.cc",
+ "src/trace_processor/importers/perf/aux_data_tokenizer.cc",
+ "src/trace_processor/importers/perf/aux_record.cc",
+ "src/trace_processor/importers/perf/aux_stream_manager.cc",
+ "src/trace_processor/importers/perf/auxtrace_info_record.cc",
+ "src/trace_processor/importers/perf/auxtrace_record.cc",
+ "src/trace_processor/importers/perf/etm_tokenizer.cc",
"src/trace_processor/importers/perf/features.cc",
"src/trace_processor/importers/perf/mmap_record.cc",
"src/trace_processor/importers/perf/perf_data_tokenizer.cc",
"src/trace_processor/importers/perf/record_parser.cc",
"src/trace_processor/importers/perf/sample.cc",
+ "src/trace_processor/importers/perf/sample_id.cc",
],
}
@@ -12508,6 +12515,7 @@
filegroup {
name: "perfetto_src_trace_processor_importers_perf_unittests",
srcs: [
+ "src/trace_processor/importers/perf/aux_stream_manager_unittest.cc",
"src/trace_processor/importers/perf/perf_session_unittest.cc",
"src/trace_processor/importers/perf/reader_unittest.cc",
],