diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-07 23:28:00 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-06-07 23:28:00 +0000 |
commit | 4f28f0ebde805bc5216a9bf38ed57aefb3cbb38b (patch) | |
tree | f3f3abd005afd96c07379261e18a98cf40f3ee60 | |
parent | 969bdb9cb90d719e2f133e0452f6356e80678624 (diff) | |
parent | f4904a0be5bc5ba7f3c3547072b9e7f56518bb84 (diff) | |
download | extras-4f28f0ebde805bc5216a9bf38ed57aefb3cbb38b.tar.gz |
Snap for 8693198 from f4904a0be5bc5ba7f3c3547072b9e7f56518bb84 to tm-d1-releaseandroid-13.0.0_r9android-13.0.0_r15android-13.0.0_r14android-13.0.0_r13android-13.0.0_r11android-13.0.0_r10android13-d1-s3-releaseandroid13-d1-s2-releaseandroid13-d1-s1-releaseandroid13-d1-release
Change-Id: I76d1c12a194531d8ade1b648711c94d29694ca1c
-rw-r--r-- | simpleperf/cmd_record.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/simpleperf/cmd_record.cpp b/simpleperf/cmd_record.cpp index 4b79eedc..e69355d4 100644 --- a/simpleperf/cmd_record.cpp +++ b/simpleperf/cmd_record.cpp @@ -352,7 +352,8 @@ RECORD_FILTER_OPTION_HELP_MSG_FOR_RECORDING bool TraceOffCpu(); bool SetEventSelectionFlags(); bool CreateAndInitRecordFile(); - std::unique_ptr<RecordFileWriter> CreateRecordFile(const std::string& filename); + std::unique_ptr<RecordFileWriter> CreateRecordFile( + const std::string& filename, const std::vector<EventAttrWithId>& override_attrs); bool DumpKernelSymbol(); bool DumpTracingData(); bool DumpMaps(); @@ -1280,7 +1281,8 @@ bool RecordCommand::SetEventSelectionFlags() { } bool RecordCommand::CreateAndInitRecordFile() { - record_file_writer_ = CreateRecordFile(record_filename_); + record_file_writer_ = + CreateRecordFile(record_filename_, event_selection_set_.GetEventAttrWithId()); if (record_file_writer_ == nullptr) { return false; } @@ -1294,13 +1296,14 @@ bool RecordCommand::CreateAndInitRecordFile() { return DumpKernelSymbol() && DumpTracingData() && DumpMaps() && DumpAuxTraceInfo(); } -std::unique_ptr<RecordFileWriter> RecordCommand::CreateRecordFile(const std::string& filename) { +std::unique_ptr<RecordFileWriter> RecordCommand::CreateRecordFile( + const std::string& filename, const std::vector<EventAttrWithId>& attrs) { std::unique_ptr<RecordFileWriter> writer = RecordFileWriter::CreateInstance(filename); if (writer == nullptr) { return nullptr; } - if (!writer->WriteAttrSection(event_selection_set_.GetEventAttrWithId())) { + if (!writer->WriteAttrSection(attrs)) { return nullptr; } return writer; @@ -1697,11 +1700,17 @@ std::unique_ptr<RecordFileReader> RecordCommand::MoveRecordFile(const std::strin return nullptr; } } - record_file_writer_ = CreateRecordFile(record_filename_); + + auto reader = RecordFileReader::CreateInstance(old_filename); + if (!reader) { + return nullptr; + } + + record_file_writer_ = CreateRecordFile(record_filename_, reader->AttrSection()); if (!record_file_writer_) { return nullptr; } - return RecordFileReader::CreateInstance(old_filename); + return reader; } bool RecordCommand::MergeMapRecords() { |