perf list: Remove blank lines, headers when piping output
So that one can, for instance, use it with wc -l: # perf list *:*write* | wc -l 60 Or to look for the "bio" tracepoints, without 'perf list' headers: # perf list *:*bio* | head block:block_bio_backmerge [Tracepoint event] block:block_bio_bounce [Tracepoint event] block:block_bio_complete [Tracepoint event] block:block_bio_frontmerge [Tracepoint event] block:block_bio_queue [Tracepoint event] block:block_bio_remap [Tracepoint event] # Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Borislav Petkov <bp@suse.de> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Stephane Eranian <eranian@google.com> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/n/tip-ts7sc0x8u4io4cifzkup4j44@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
6cca13bdf5
commit
dfc431cbdc
|
@ -36,7 +36,7 @@ int cmd_list(int argc, const char **argv, const char *prefix __maybe_unused)
|
|||
|
||||
setup_pager();
|
||||
|
||||
if (!raw_dump)
|
||||
if (!raw_dump && pager_in_use())
|
||||
printf("\nList of pre-defined events (to be used in -e):\n\n");
|
||||
|
||||
if (argc == 0) {
|
||||
|
|
|
@ -1534,7 +1534,7 @@ void print_tracepoint_events(const char *subsys_glob, const char *event_glob,
|
|||
printf(" %-50s [%s]\n", evt_list[evt_i++],
|
||||
event_type_descriptors[PERF_TYPE_TRACEPOINT]);
|
||||
}
|
||||
if (evt_num)
|
||||
if (evt_num && pager_in_use())
|
||||
printf("\n");
|
||||
|
||||
out_free:
|
||||
|
@ -1690,7 +1690,7 @@ int print_hwcache_events(const char *event_glob, bool name_only)
|
|||
printf(" %-50s [%s]\n", evt_list[evt_i++],
|
||||
event_type_descriptors[PERF_TYPE_HW_CACHE]);
|
||||
}
|
||||
if (evt_num)
|
||||
if (evt_num && pager_in_use())
|
||||
printf("\n");
|
||||
|
||||
out_free:
|
||||
|
@ -1763,7 +1763,7 @@ void print_symbol_events(const char *event_glob, unsigned type,
|
|||
}
|
||||
printf(" %-50s [%s]\n", evt_list[evt_i++], event_type_descriptors[type]);
|
||||
}
|
||||
if (evt_num)
|
||||
if (evt_num && pager_in_use())
|
||||
printf("\n");
|
||||
|
||||
out_free:
|
||||
|
@ -1804,13 +1804,14 @@ void print_events(const char *event_glob, bool name_only)
|
|||
printf(" %-50s [%s]\n",
|
||||
"cpu/t1=v1[,t2=v2,t3 ...]/modifier",
|
||||
event_type_descriptors[PERF_TYPE_RAW]);
|
||||
printf(" (see 'man perf-list' on how to encode it)\n");
|
||||
printf("\n");
|
||||
if (pager_in_use())
|
||||
printf(" (see 'man perf-list' on how to encode it)\n\n");
|
||||
|
||||
printf(" %-50s [%s]\n",
|
||||
"mem:<addr>[/len][:access]",
|
||||
event_type_descriptors[PERF_TYPE_BREAKPOINT]);
|
||||
printf("\n");
|
||||
if (pager_in_use())
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
print_tracepoint_events(NULL, NULL, name_only);
|
||||
|
|
|
@ -1026,7 +1026,7 @@ void print_pmu_events(const char *event_glob, bool name_only)
|
|||
printf(" %-50s [Kernel PMU event]\n", aliases[j]);
|
||||
printed++;
|
||||
}
|
||||
if (printed)
|
||||
if (printed && pager_in_use())
|
||||
printf("\n");
|
||||
out_free:
|
||||
for (j = 0; j < len; j++)
|
||||
|
|
Loading…
Reference in New Issue