OSDN Git Service

perf stat: Introduce perf_evlist__print_counters()
authorJiri Olsa <jolsa@kernel.org>
Thu, 30 Aug 2018 06:32:24 +0000 (08:32 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 30 Aug 2018 18:52:22 +0000 (15:52 -0300)
To be in charge of printing out the stat output. It will be moved out of
the 'perf stat' command in the following patches.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180830063252.23729-16-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-stat.c

index 54768ec..db11832 100644 (file)
@@ -1692,7 +1692,10 @@ static void print_footer(void)
                        "the same PMU. Try reorganizing the group.\n");
 }
 
-static void print_counters(struct timespec *ts, int argc, const char **argv)
+static void
+perf_evlist__print_counters(struct perf_evlist *evlist,
+                           struct timespec *ts,
+                           int argc, const char **argv)
 {
        int interval = stat_config.interval;
        struct perf_evsel *counter;
@@ -1724,14 +1727,14 @@ static void print_counters(struct timespec *ts, int argc, const char **argv)
                print_aggr(prefix);
                break;
        case AGGR_THREAD:
-               evlist__for_each_entry(evsel_list, counter) {
+               evlist__for_each_entry(evlist, counter) {
                        if (is_duration_time(counter))
                                continue;
                        print_aggr_thread(counter, prefix);
                }
                break;
        case AGGR_GLOBAL:
-               evlist__for_each_entry(evsel_list, counter) {
+               evlist__for_each_entry(evlist, counter) {
                        if (is_duration_time(counter))
                                continue;
                        print_counter_aggr(counter, prefix);
@@ -1743,7 +1746,7 @@ static void print_counters(struct timespec *ts, int argc, const char **argv)
                if (metric_only)
                        print_no_aggr_metric(prefix);
                else {
-                       evlist__for_each_entry(evsel_list, counter) {
+                       evlist__for_each_entry(evlist, counter) {
                                if (is_duration_time(counter))
                                        continue;
                                print_counter(counter, prefix);
@@ -1761,6 +1764,11 @@ static void print_counters(struct timespec *ts, int argc, const char **argv)
        fflush(stat_config.output);
 }
 
+static void print_counters(struct timespec *ts, int argc, const char **argv)
+{
+       perf_evlist__print_counters(evsel_list, ts, argc, argv);
+}
+
 static volatile int signr = -1;
 
 static void skip_signal(int signo)