summaryrefslogtreecommitdiff
path: root/simpleperf/cmd_trace_sched.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simpleperf/cmd_trace_sched.cpp')
-rw-r--r--simpleperf/cmd_trace_sched.cpp11
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 ||