perf evlist: Be more specific on -F/--freq
authorNamhyung Kim <namhyung@kernel.org>
Sun, 9 Aug 2015 06:45:24 +0000 (15:45 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 10 Aug 2015 20:20:26 +0000 (17:20 -0300)
Currently perf evlist -F shows the number as if it's always sampling
frequency.  But we now support per-event freq/period settings.  So it'd
better to show more detailed info whether it's freq or period.

  $ perf record -e 'cpu/config=1/,cpu/config=2,period=300000/' sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0.017 MB perf.data ]

  $ perf evlist -F
  cpu/config=1/: sample_freq=4000
  cpu/config=2,period=300000/: sample_period=300000

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1439102724-14079-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/evsel.c

index f664a22b5fea8af7dc1a5a7f00a5ec4d3f3b3431..04fddddc6b6fc93879eb5ec13d946117e537ef1f 100644 (file)
@@ -2158,8 +2158,13 @@ int perf_evsel__fprintf(struct perf_evsel *evsel,
                printed += perf_event_attr__fprintf(fp, &evsel->attr,
                                                    __print_attr__fprintf, &first);
        } else if (details->freq) {
-               printed += comma_fprintf(fp, &first, " sample_freq=%" PRIu64,
-                                        (u64)evsel->attr.sample_freq);
+               const char *term = "sample_freq";
+
+               if (!evsel->attr.freq)
+                       term = "sample_period";
+
+               printed += comma_fprintf(fp, &first, " %s=%" PRIu64,
+                                        term, (u64)evsel->attr.sample_freq);
        }
 out:
        fputc('\n', fp);