diff options
Diffstat (limited to 'tools/perf/builtin-script.c')
| -rw-r--r-- | tools/perf/builtin-script.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index 5e2f9d20a296..c691214d820f 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c | |||
| @@ -617,9 +617,24 @@ struct perf_script { | |||
| 617 | bool allocated; | 617 | bool allocated; |
| 618 | struct cpu_map *cpus; | 618 | struct cpu_map *cpus; |
| 619 | struct thread_map *threads; | 619 | struct thread_map *threads; |
| 620 | int name_width; | ||
| 620 | }; | 621 | }; |
| 621 | 622 | ||
| 622 | static void process_event(struct perf_script *script __maybe_unused, union perf_event *event, | 623 | static int perf_evlist__max_name_len(struct perf_evlist *evlist) |
| 624 | { | ||
| 625 | struct perf_evsel *evsel; | ||
| 626 | int max = 0; | ||
| 627 | |||
| 628 | evlist__for_each(evlist, evsel) { | ||
| 629 | int len = strlen(perf_evsel__name(evsel)); | ||
| 630 | |||
| 631 | max = MAX(len, max); | ||
| 632 | } | ||
| 633 | |||
| 634 | return max; | ||
| 635 | } | ||
| 636 | |||
| 637 | static void process_event(struct perf_script *script, union perf_event *event, | ||
| 623 | struct perf_sample *sample, struct perf_evsel *evsel, | 638 | struct perf_sample *sample, struct perf_evsel *evsel, |
| 624 | struct addr_location *al) | 639 | struct addr_location *al) |
| 625 | { | 640 | { |
| @@ -636,7 +651,12 @@ static void process_event(struct perf_script *script __maybe_unused, union perf_ | |||
| 636 | 651 | ||
| 637 | if (PRINT_FIELD(EVNAME)) { | 652 | if (PRINT_FIELD(EVNAME)) { |
| 638 | const char *evname = perf_evsel__name(evsel); | 653 | const char *evname = perf_evsel__name(evsel); |
| 639 | printf("%s: ", evname ? evname : "[unknown]"); | 654 | |
| 655 | if (!script->name_width) | ||
| 656 | script->name_width = perf_evlist__max_name_len(script->session->evlist); | ||
| 657 | |||
| 658 | printf("%*s: ", script->name_width, | ||
| 659 | evname ? evname : "[unknown]"); | ||
| 640 | } | 660 | } |
| 641 | 661 | ||
| 642 | if (print_flags) | 662 | if (print_flags) |
