remarkable-linux/tools/perf
Stephane Eranian 5af52b51f7 perf stat: add perf stat -B to pretty print large numbers
It is hard to read very large numbers so provide an option to perf stat
to separate thousands using a separator. The patch leverages the locale
support of stdio. You need to set your LC_NUMERIC appropriately, for
instance LC_NUMERIC=en_US.UTF8. You need to pass -B to activate this
feature. This way existing scripts parsing the output do not need to be
changed. Here is an example.

$ perf stat noploop 2
noploop for 2 seconds

 Performance counter stats for 'noploop 2':

        1998.347031  task-clock-msecs         #      0.998 CPUs
                 61  context-switches         #      0.000 M/sec
                  0  CPU-migrations           #      0.000 M/sec
                118  page-faults              #      0.000 M/sec
      4,138,410,900  cycles                   #   2070.917 M/sec  (scaled from 70.01%)
      2,062,650,268  instructions             #      0.498 IPC    (scaled from 70.01%)
      2,057,653,466  branches                 #   1029.678 M/sec  (scaled from 70.01%)
             40,267  branch-misses            #      0.002 %      (scaled from 30.04%)
      2,055,961,348  cache-references         #   1028.831 M/sec  (scaled from 30.03%)
             53,725  cache-misses             #      0.027 M/sec  (scaled from 30.02%)

        2.001393933  seconds time elapsed

$ perf stat -B  noploop 2
noploop for 2 seconds

 Performance counter stats for 'noploop 2':

        1998.297883  task-clock-msecs         #      0.998 CPUs
                 59  context-switches         #      0.000 M/sec
                  0  CPU-migrations           #      0.000 M/sec
                119  page-faults              #      0.000 M/sec
      4,131,380,160  cycles                   #   2067.450 M/sec  (scaled from 70.01%)
      2,059,096,507  instructions             #      0.498 IPC    (scaled from 70.01%)
      2,054,681,303  branches                 #   1028.216 M/sec  (scaled from 70.01%)
             25,650  branch-misses            #      0.001 %      (scaled from 30.05%)
      2,056,283,014  cache-references         #   1029.017 M/sec  (scaled from 30.03%)
             47,097  cache-misses             #      0.024 M/sec  (scaled from 30.02%)

        2.001391016  seconds time elapsed

Cc: David S. Miller <davem@davemloft.net>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <4bf28fe8.914ed80a.01ca.fffff5f5@mx.google.com>
Signed-off-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2010-05-18 23:03:22 -03:00
..
arch perf probe: Add PowerPC DWARF register number mappings 2010-04-22 13:48:31 +10:00
bench perf options: Check v type in OPT_U?INTEGER 2010-05-17 15:43:38 -03:00
Documentation perf stat: add perf stat -B to pretty print large numbers 2010-05-18 23:03:22 -03:00
scripts perf/trace/scripting: syscall-counts script cleanup 2010-05-10 19:51:02 -03:00
util perf tui: Fix build problem with slang <= 2.0.6 2010-05-18 00:25:36 -03:00
.gitignore perf: Ignore perf-archive temp file 2010-01-29 10:37:33 +01:00
builtin-annotate.c perf hist: Make event__totals per hists 2010-05-14 10:36:42 -03:00
builtin-bench.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-buildid-cache.c perf: Fix endianness argument compatibility with OPT_BOOLEAN() and introduce OPT_INCR() 2010-04-14 11:26:44 +02:00
builtin-buildid-list.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-diff.c perf report: Report number of events, not samples 2010-05-14 14:19:35 -03:00
builtin-help.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-inject.c perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
builtin-kmem.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-kvm.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-lock.c perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00
builtin-probe.c perf probe: Add --max-probes option 2010-04-26 15:35:20 -03:00
builtin-record.c perf options: Check v type in OPT_U?INTEGER 2010-05-17 15:43:38 -03:00
builtin-report.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-sched.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-stat.c perf stat: add perf stat -B to pretty print large numbers 2010-05-18 23:03:22 -03:00
builtin-test.c perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00
builtin-timechart.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
builtin-top.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-trace.c perf hist: Clarify events_stats fields usage 2010-05-14 13:16:55 -03:00
builtin.h perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
command-list.txt perf inject: Add missing bits 2010-05-04 10:48:22 -03:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf: Fix few typos + cosmetics 2010-01-13 17:39:44 +01:00
Makefile perf tools: Add mode to build without newt support 2010-05-17 18:18:11 -03:00
perf-archive.sh perf archive: Explain how to use the generated tarball 2010-03-23 20:33:08 +01:00
perf.c perf: add perf-inject builtin 2010-05-02 13:36:56 -03:00
perf.h perf options: Type check OPT_BOOLEAN and fix the offenders 2010-05-17 16:22:37 -03:00