diff options
Diffstat (limited to 'simpleperf/cmd_trace_sched.cpp')
-rw-r--r-- | simpleperf/cmd_trace_sched.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/simpleperf/cmd_trace_sched.cpp b/simpleperf/cmd_trace_sched.cpp index a5961ec9..34c6318f 100644 --- a/simpleperf/cmd_trace_sched.cpp +++ b/simpleperf/cmd_trace_sched.cpp @@ -187,6 +187,17 @@ bool TraceSchedCommand::ParseSchedEvents(const std::string& record_file_path) { if (!reader) { return false; } + std::unique_ptr<ScopedEventTypes> scoped_event_types; + if (reader->HasFeature(PerfFileFormat::FEAT_META_INFO)) { + std::unordered_map<std::string, std::string> meta_info; + if (!reader->ReadMetaInfoFeature(&meta_info)) { + return false; + } + auto it = meta_info.find("event_type_info"); + if (it != meta_info.end()) { + scoped_event_types.reset(new ScopedEventTypes(it->second)); + } + } const EventType* event = FindEventTypeByName("sched:sched_stat_runtime"); std::vector<EventAttrWithId> attrs = reader->AttrSection(); if (attrs.size() != 1u || attrs[0].attr->type != event->type || |