linux_dsm_epyc7002/tools/perf
Stephane Eranian 13370a9b5b perf stat: Add interval printing
This patch adds a new printing mode for perf stat.  It allows interval
printing. That means perf stat can now print event deltas at regular
time interval.  This is useful to detect phases in programs.

The -I option enables interval printing. It expects an interval duration
in milliseconds. Minimum is 100ms. Once, activated perf stat prints
events deltas since last printout. All modes are supported.

$ perf stat -I 1000 -e cycles noploop 10
noploop for 10 seconds
 #           time             counts events
      1.000109853      2,388,560,546 cycles
      2.000262846      2,393,332,358 cycles
      3.000354131      2,393,176,537 cycles
      4.000439503      2,393,203,790 cycles
      5.000527075      2,393,167,675 cycles
      6.000609052      2,393,203,670 cycles
      7.000691082      2,393,175,678 cycles

The output format makes it easy to feed into a plotting program such as
gnuplot when the -I option is used in combination with the -x option:

$ perf stat -x, -I 1000 -e cycles noploop 10
noploop for 10 seconds
1.000084113,2378775498,cycles
2.000245798,2391056897,cycles
3.000354445,2392089414,cycles
4.000459115,2390936603,cycles
5.000565341,2392108173,cycles

Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1359460064-3060-3-git-send-email-eranian@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2013-01-30 10:36:53 -03:00
..
arch Merge branch 'linus' into perf/core 2012-12-08 15:25:06 +01:00
bench perf: Add 'perf bench numa mem' NUMA performance measurement suite 2013-01-30 10:35:36 -03:00
config perf tools: Make numa benchmark optional 2013-01-30 10:36:21 -03:00
Documentation perf stat: Add interval printing 2013-01-30 10:36:53 -03:00
python perf python: Use attr.watermark in twatch.py 2012-01-30 18:38:23 -02:00
scripts perf script: Remove workqueue-stats script 2013-01-24 16:40:53 -03:00
tests perf tests: Fix leaks on PERF_RECORD_* test 2013-01-30 10:35:02 -03:00
ui perf ui browser: Free browser->helpline() on ui_browser__hide() 2013-01-25 12:49:29 -03:00
util perf evsel: Add prev_raw_count field 2013-01-30 10:36:38 -03:00
.gitignore perf tools: Ignore compiled python binaries 2012-09-07 12:10:58 -03:00
bash_completion perf tools: Complete tracepoint event names 2012-10-04 12:44:52 -03:00
builtin-annotate.c perf tools: Introduce struct hist_browser_timer 2012-11-05 14:03:58 -03:00
builtin-bench.c perf tools: Make numa benchmark optional 2013-01-30 10:36:21 -03:00
builtin-buildid-cache.c perf buildid-cache: Add option to show build ids that are missing in the cache 2012-12-09 08:46:08 -03:00
builtin-buildid-list.c perf symbols: Generalize filter in __fprintf_buildid methods 2012-12-09 08:46:07 -03:00
builtin-diff.c perf diff: Use internal rb tree for compute resort 2013-01-24 16:40:06 -03:00
builtin-evlist.c perf evsel: Adopt fprintf routine from 'perf evlist' 2012-12-11 17:19:53 -03:00
builtin-help.c perf help: Fix --help for builtins 2012-10-22 12:35:49 -02:00
builtin-inject.c perf inject: Mark a dso if it's used 2012-10-26 11:22:25 -02:00
builtin-kmem.c perf kmem: Use memdup() 2013-01-25 12:49:28 -03:00
builtin-kvm.c perf kvm: Initialize file_name var to fix segfault 2013-01-24 16:40:13 -03:00
builtin-list.c perf tools: Use __maybe_used for unused variables 2012-09-11 12:19:15 -03:00
builtin-lock.c perf tools: Add a global variable "const char *input_name" 2012-10-29 11:45:34 -02:00
builtin-probe.c perf probe: Don't use globals where not needed to 2012-10-02 18:36:37 -03:00
builtin-record.c perf machine: Simplify accessing the host machine 2013-01-24 16:40:13 -03:00
builtin-report.c perf report: Update documentation for sort keys 2013-01-24 16:40:28 -03:00
builtin-sched.c perf session: There is no need for a per session hists instance 2013-01-24 16:40:12 -03:00
builtin-script.c perf script: Don't display trace info when invoking scripts 2013-01-24 16:40:52 -03:00
builtin-stat.c perf stat: Add interval printing 2013-01-30 10:36:53 -03:00
builtin-timechart.c perf tools: Add a global variable "const char *input_name" 2012-10-29 11:45:34 -02:00
builtin-top.c perf tools: Allow passing a list to intlist__new 2013-01-24 16:40:53 -03:00
builtin-trace.c perf evlist: Set the leader in the perf_evlist__config method 2012-12-11 17:19:01 -03:00
builtin.h perf trace: New tool 2012-09-26 20:42:23 -03:00
command-list.txt perf trace: New tool 2012-09-26 20:42:23 -03:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
design.txt perf tools: Update ioctl documentation for PERF_IOC_FLAG_GROUP 2012-05-31 11:38:42 -03:00
Makefile perf tools: Make numa benchmark optional 2013-01-30 10:36:21 -03:00
MANIFEST perf tools: Fix building from 'make perf-*-src-pkg' tarballs 2013-01-10 16:03:26 -03:00
perf-archive.sh perf archive: Make 'f' the last parameter for tar 2012-09-17 13:10:42 -03:00
perf.c perf tools: Remove some needless die() calls from the main routine 2013-01-24 16:40:52 -03:00
perf.h perf tools: Move get_term_dimensions from top to util.c 2013-01-24 16:40:34 -03:00