Arnaldo Carvalho de Melo | 11d232e | 2010-05-04 10:48:22 -0300 | [diff] [blame] | 1 | perf-inject(1) |
| 2 | ============== |
| 3 | |
| 4 | NAME |
| 5 | ---- |
| 6 | perf-inject - Filter to augment the events stream with additional information |
| 7 | |
| 8 | SYNOPSIS |
| 9 | -------- |
| 10 | [verse] |
| 11 | 'perf inject <options>' |
| 12 | |
| 13 | DESCRIPTION |
| 14 | ----------- |
| 15 | perf-inject reads a perf-record event stream and repipes it to stdout. At any |
| 16 | point the processing code can inject other events into the event stream - in |
| 17 | this case build-ids (-b option) are read and injected as needed into the event |
| 18 | stream. |
| 19 | |
| 20 | Build-ids are just the first user of perf-inject - potentially anything that |
| 21 | needs userspace processing to augment the events stream with additional |
| 22 | information could make use of this facility. |
| 23 | |
| 24 | OPTIONS |
| 25 | ------- |
| 26 | -b:: |
| 27 | --build-ids=:: |
| 28 | Inject build-ids into the output stream |
| 29 | -v:: |
| 30 | --verbose:: |
| 31 | Be more verbose. |
Andrew Vagin | e558a5b | 2012-08-07 16:56:02 +0400 | [diff] [blame] | 32 | -i:: |
| 33 | --input=:: |
| 34 | Input file name. (default: stdin) |
| 35 | -o:: |
| 36 | --output=:: |
| 37 | Output file name. (default: stdout) |
Andrew Vagin | 26a031e | 2012-08-07 16:56:04 +0400 | [diff] [blame] | 38 | -s:: |
| 39 | --sched-stat:: |
| 40 | Merge sched_stat and sched_switch for getting events where and how long |
| 41 | tasks slept. sched_switch contains a callchain where a task slept and |
| 42 | sched_stat contains a timeslice how long a task slept. |
Arnaldo Carvalho de Melo | 11d232e | 2010-05-04 10:48:22 -0300 | [diff] [blame] | 43 | |
Adrian Hunter | a7a2b8b | 2014-07-22 16:17:38 +0300 | [diff] [blame] | 44 | --kallsyms=<file>:: |
| 45 | kallsyms pathname |
| 46 | |
Adrian Hunter | 0f0aa5e | 2015-04-09 18:54:00 +0300 | [diff] [blame] | 47 | --itrace:: |
| 48 | Decode Instruction Tracing data, replacing it with synthesized events. |
| 49 | Options are: |
| 50 | |
| 51 | i synthesize instructions events |
| 52 | b synthesize branches events |
| 53 | c synthesize branches events (calls only) |
| 54 | r synthesize branches events (returns only) |
Adrian Hunter | 53c76b0 | 2015-04-30 17:37:28 +0300 | [diff] [blame] | 55 | x synthesize transactions events |
Adrian Hunter | 0f0aa5e | 2015-04-09 18:54:00 +0300 | [diff] [blame] | 56 | e synthesize error events |
| 57 | d create a debug log |
Adrian Hunter | 53c76b0 | 2015-04-30 17:37:28 +0300 | [diff] [blame] | 58 | g synthesize a call chain (use with i or x) |
Adrian Hunter | 0f0aa5e | 2015-04-09 18:54:00 +0300 | [diff] [blame] | 59 | |
Adrian Hunter | 53c76b0 | 2015-04-30 17:37:28 +0300 | [diff] [blame] | 60 | The default is all events i.e. the same as --itrace=ibxe |
Adrian Hunter | 0f0aa5e | 2015-04-09 18:54:00 +0300 | [diff] [blame] | 61 | |
| 62 | In addition, the period (default 100000) for instructions events |
| 63 | can be specified in units of: |
| 64 | |
| 65 | i instructions |
| 66 | t ticks |
| 67 | ms milliseconds |
| 68 | us microseconds |
| 69 | ns nanoseconds (default) |
| 70 | |
Adrian Hunter | 53c76b0 | 2015-04-30 17:37:28 +0300 | [diff] [blame] | 71 | Also the call chain size (default 16, max. 1024) for instructions or |
| 72 | transactions events can be specified. |
Adrian Hunter | 0f0aa5e | 2015-04-09 18:54:00 +0300 | [diff] [blame] | 73 | |
Arnaldo Carvalho de Melo | 11d232e | 2010-05-04 10:48:22 -0300 | [diff] [blame] | 74 | SEE ALSO |
| 75 | -------- |
| 76 | linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-archive[1] |