mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
perf script: Align event name properly
Adding code to align event names, so we get aligned output in case of multiple events with different names. Before: $ perf script :13757 13757 163918.230829: cpu/mem-snp-none/P: ffff88085f20d010 :13757 13757 163918.230832: cpu/mem-loads,ldlat=30/P: 7f5a5f719f00 :13757 13757 163918.230835: cpu/mem-loads,ldlat=30/P: 7f5a5f719f00 :13758 13758 163918.230838: cpu/mem-snp-none/P: ffff88085f4ad810 :13758 13758 163918.154093: cpu/mem-stores/P: ffff88085bb53f28 :13757 13757 163918.155264: cpu/mem-snp-hitm/P: 601080 ... After: $ perf script :13757 13757 163918.228831: cpu/mem-snp-none/P: ffffffff81a841c0 :13757 13757 163918.228834: cpu/mem-loads,ldlat=30/P: 7f5a5f719f08 :13757 13757 163918.228837: cpu/mem-loads,ldlat=30/P: 7f5a5f719f08 :13758 13758 163918.228837: cpu/mem-snp-none/P: ffff88085f4ad800 :13758 13758 163918.154093: cpu/mem-stores/P: ffff88085bb53f28 :13757 13757 163918.155264: cpu/mem-snp-hitm/P: 601080 ... Signed-off-by: Jiri Olsa <[email protected]> Acked-by: David Ahern <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Noel Grandin <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
This commit is contained in:
parent
2d7c03e6b0
commit
9cdbc40962
1 changed files with 22 additions and 2 deletions
|
|
@ -617,9 +617,24 @@ struct perf_script {
|
|||
bool allocated;
|
||||
struct cpu_map *cpus;
|
||||
struct thread_map *threads;
|
||||
int name_width;
|
||||
};
|
||||
|
||||
static void process_event(struct perf_script *script __maybe_unused, union perf_event *event,
|
||||
static int perf_evlist__max_name_len(struct perf_evlist *evlist)
|
||||
{
|
||||
struct perf_evsel *evsel;
|
||||
int max = 0;
|
||||
|
||||
evlist__for_each(evlist, evsel) {
|
||||
int len = strlen(perf_evsel__name(evsel));
|
||||
|
||||
max = MAX(len, max);
|
||||
}
|
||||
|
||||
return max;
|
||||
}
|
||||
|
||||
static void process_event(struct perf_script *script, union perf_event *event,
|
||||
struct perf_sample *sample, struct perf_evsel *evsel,
|
||||
struct addr_location *al)
|
||||
{
|
||||
|
|
@ -636,7 +651,12 @@ static void process_event(struct perf_script *script __maybe_unused, union perf_
|
|||
|
||||
if (PRINT_FIELD(EVNAME)) {
|
||||
const char *evname = perf_evsel__name(evsel);
|
||||
printf("%s: ", evname ? evname : "[unknown]");
|
||||
|
||||
if (!script->name_width)
|
||||
script->name_width = perf_evlist__max_name_len(script->session->evlist);
|
||||
|
||||
printf("%*s: ", script->name_width,
|
||||
evname ? evname : "[unknown]");
|
||||
}
|
||||
|
||||
if (print_flags)
|
||||
|
|
|
|||
Loading…
Reference in a new issue