diff options
| -rwxr-xr-x | tools/perf/tests/shell/header.sh | 2 | ||||
| -rw-r--r-- | tools/perf/util/header.c | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/tools/perf/tests/shell/header.sh b/tools/perf/tests/shell/header.sh index 412263de6ed7..e1628ac0a614 100755 --- a/tools/perf/tests/shell/header.sh +++ b/tools/perf/tests/shell/header.sh @@ -42,7 +42,7 @@ check_header_output() { do if ! grep -q -E "$i" "${script_output}" then - echo "Failed to find expect $i in output" + echo "Failed to find expected $i in output" err=1 fi done diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index 487f663ed2de..53d54fbda10d 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -4343,6 +4343,7 @@ int perf_event__process_feature(struct perf_session *session, int type = fe->header.type; u64 feat = fe->feat_id; int ret = 0; + bool print = dump_trace; if (type < 0 || type >= PERF_RECORD_HEADER_MAX) { pr_warning("invalid record type %d in pipe-mode\n", type); @@ -4362,8 +4363,20 @@ int perf_event__process_feature(struct perf_session *session, goto out; } - if (dump_trace) { + if (session->tool->show_feat_hdr) { + if (!feat_ops[feat].full_only || + session->tool->show_feat_hdr >= SHOW_FEAT_HEADER_FULL_INFO) { + print = true; + } else { + fprintf(stdout, "# %s info available, use -I to display\n", + feat_ops[feat].name); + } + } + + if (dump_trace) printf(", "); + + if (print) { if (feat_ops[feat].print) feat_ops[feat].print(&ff, stdout); else |
