remarkable-linux/tools/perf
David Ahern 745f43e343 perf script: Support custom field selection for output
Allow a user to select which fields to print to stdout for event data.
Options include comm (command name), tid (thread id), pid (process id),
time (perf timestamp), cpu, event (for event name), and trace (for
trace data).

Default is set to maintain compatibility with current output; this
feature does alter output format slightly -- no '-' between command
and pid/tid.

Thanks to Frederic Weisbecker for detailed suggestions on this approach.

Examples (output compressed)

1. trace, default format

perf record -ga -e sched:sched_switch
perf script

swapper    0 [000] 537.037184: sched_switch: prev_comm=swapper prev_pid=0...
   sshd 1675 [000] 537.037309: sched_switch: prev_comm=sshd prev_pid=1675...
netstat 1692 [001] 537.038664: sched_switch: prev_comm=netstat prev_pid=1692...

2. trace, custom format

perf record -ga -e sched:sched_switch
perf script -f comm,pid,time,trace     <--- omitting cpu and event name

swapper    0 537.037184: prev_comm=swapper prev_pid=0 prev_prio=120 ...
   sshd 1675 537.037309: prev_comm=sshd prev_pid=1675 prev_prio=120 ...
netstat 1692 537.038664: prev_comm=netstat prev_pid=1692 prev_prio=120 ...

Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
LKML-Reference: <1299734608-5223-5-git-send-email-daahern@cisco.com>
Signed-off-by: David Ahern <daahern@cisco.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2011-03-14 17:06:16 -03:00
..
arch [S390] perf: add DWARF register lookup for s390 2011-01-05 12:47:31 +01:00
bench perf tool: Fix gcc 4.6.0 issues 2011-02-07 12:41:41 -02:00
Documentation perf script: Support custom field selection for output 2011-03-14 17:06:16 -03:00
python perf evlist: Store pointer to the cpu and thread maps 2011-01-31 12:40:52 -02:00
scripts perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
util perf script: Move printing of 'common' data from print_event and rename 2011-03-14 17:05:55 -03:00
.gitignore perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
builtin-annotate.c perf tools: Improve support for sessions with multiple events 2011-03-06 13:13:40 -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 buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
builtin-buildid-list.c Merge commit 'v2.6.37-rc8' into perf/core 2011-01-04 08:08:54 +01:00
builtin-diff.c perf tools: Kill event_t typedef, use 'union perf_event' instead 2011-01-29 16:25:37 -02: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 tools: Kill event_t typedef, use 'union perf_event' instead 2011-01-29 16:25:37 -02:00
builtin-kmem.c perf tools: Kill event_t typedef, use 'union perf_event' instead 2011-01-29 16:25:37 -02: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: Allow filtering list of events 2011-02-17 15:38:58 -02:00
builtin-lock.c perf lock: Document valid sort keys 2011-02-23 07:29:33 -03:00
builtin-probe.c perf probe: Use %td for pointer arithmetic result 2011-01-31 19:45:38 -02:00
builtin-record.c perf session: Use evlist/evsel for managing perf.data attributes 2011-03-10 11:15:54 -03:00
builtin-report.c perf session: Use evlist/evsel for managing perf.data attributes 2011-03-10 11:15:54 -03:00
builtin-sched.c perf tool: Fix gcc 4.6.0 issues 2011-02-07 12:41:41 -02:00
builtin-script.c perf script: Support custom field selection for output 2011-03-14 17:06:16 -03:00
builtin-stat.c perf stat: Provide support for filters 2011-03-14 13:37:52 -03:00
builtin-test.c perf evlist: Store pointer to the cpu and thread maps 2011-01-31 12:40:52 -02:00
builtin-timechart.c Merge branch 'perf/urgent' into perf/core 2011-03-04 10:40:25 +01:00
builtin-top.c perf symbol: Move sym_entry->skip to symbol->ignore 2011-03-11 13:36:01 -03:00
builtin.h perf: Rename 'perf trace' to 'perf script' 2010-11-16 19:37:44 +01:00
command-list.txt Merge branch 'perf/rename' into perf/core 2010-12-01 09:22:19 +01: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
feature-tests.mak perf tools: Remove hardcoded include paths for elfutils 2010-11-19 16:38:04 -02:00
Makefile perf tools: Makefile: Remove various and sundry cruft 2011-02-18 07:43:06 -02:00
MANIFEST perf packaging: add memcpy to perf MANIFEST 2010-11-30 23:00:10 -02:00
perf-archive.sh perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
perf.c perf evsel: Fix order of event list deletion 2011-01-11 12:51:03 -02:00
perf.h perf record: Move perf_mmap__write_tail to perf.h 2011-01-22 19:56:29 -02:00