| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 1 | perf-trace(1) | 
| Arnaldo Carvalho de Melo | 4778e0e | 2010-05-05 11:23:27 -0300 | [diff] [blame] | 2 | ============= | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 3 |  | 
 | 4 | NAME | 
 | 5 | ---- | 
 | 6 | perf-trace - Read perf.data (created by perf record) and display trace output | 
 | 7 |  | 
 | 8 | SYNOPSIS | 
 | 9 | -------- | 
 | 10 | [verse] | 
| Tom Zanussi | a600512 | 2009-12-15 02:53:40 -0600 | [diff] [blame] | 11 | 'perf trace' {record <script> | report <script> [args] } | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 12 |  | 
 | 13 | DESCRIPTION | 
 | 14 | ----------- | 
 | 15 | This command reads the input file and displays the trace recorded. | 
 | 16 |  | 
| Tom Zanussi | a600512 | 2009-12-15 02:53:40 -0600 | [diff] [blame] | 17 | There are several variants of perf trace: | 
 | 18 |  | 
 | 19 |   'perf trace' to see a detailed trace of the workload that was | 
 | 20 |   recorded. | 
 | 21 |  | 
| Tom Zanussi | cff68e5 | 2010-01-27 02:28:03 -0600 | [diff] [blame] | 22 |   You can also run a set of pre-canned scripts that aggregate and | 
 | 23 |   summarize the raw trace data in various ways (the list of scripts is | 
 | 24 |   available via 'perf trace -l').  The following variants allow you to | 
 | 25 |   record and run those scripts: | 
 | 26 |  | 
| Tom Zanussi | a600512 | 2009-12-15 02:53:40 -0600 | [diff] [blame] | 27 |   'perf trace record <script>' to record the events required for 'perf | 
 | 28 |   trace report'.  <script> is the name displayed in the output of | 
 | 29 |   'perf trace --list' i.e. the actual script name minus any language | 
 | 30 |   extension. | 
 | 31 |  | 
 | 32 |   'perf trace report <script>' to run and display the results of | 
 | 33 |   <script>.  <script> is the name displayed in the output of 'perf | 
 | 34 |   trace --list' i.e. the actual script name minus any language | 
 | 35 |   extension.  The perf.data output from a previous run of 'perf trace | 
 | 36 |   record <script>' is used and should be present for this command to | 
 | 37 |   succeed. | 
 | 38 |  | 
| Tom Zanussi | cff68e5 | 2010-01-27 02:28:03 -0600 | [diff] [blame] | 39 |   See the 'SEE ALSO' section for links to language-specific | 
 | 40 |   information on how to write and run your own trace scripts. | 
 | 41 |  | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 42 | OPTIONS | 
 | 43 | ------- | 
 | 44 | -D:: | 
 | 45 | --dump-raw-trace=:: | 
 | 46 |         Display verbose dump of the trace data. | 
 | 47 |  | 
| Tom Zanussi | a600512 | 2009-12-15 02:53:40 -0600 | [diff] [blame] | 48 | -L:: | 
 | 49 | --Latency=:: | 
 | 50 |         Show latency attributes (irqs/preemption disabled, etc). | 
 | 51 |  | 
 | 52 | -l:: | 
 | 53 | --list=:: | 
 | 54 |         Display a list of available trace scripts. | 
 | 55 |  | 
| Tom Zanussi | f526d68 | 2010-01-27 02:27:52 -0600 | [diff] [blame] | 56 | -s ['lang']:: | 
| Tom Zanussi | 89fbf0b | 2009-11-25 01:15:51 -0600 | [diff] [blame] | 57 | --script=:: | 
 | 58 |         Process trace data with the given script ([lang]:script[.ext]). | 
| Tom Zanussi | f526d68 | 2010-01-27 02:27:52 -0600 | [diff] [blame] | 59 | 	If the string 'lang' is specified in place of a script name, a | 
 | 60 |         list of supported languages will be displayed instead. | 
| Tom Zanussi | 89fbf0b | 2009-11-25 01:15:51 -0600 | [diff] [blame] | 61 |  | 
 | 62 | -g:: | 
 | 63 | --gen-script=:: | 
 | 64 |         Generate perf-trace.[ext] starter script for given language, | 
 | 65 |         using current perf.data. | 
 | 66 |  | 
| Ingo Molnar | 0a02ad9 | 2009-09-11 12:12:54 +0200 | [diff] [blame] | 67 | SEE ALSO | 
 | 68 | -------- | 
| Tom Zanussi | cff68e5 | 2010-01-27 02:28:03 -0600 | [diff] [blame] | 69 | linkperf:perf-record[1], linkperf:perf-trace-perl[1], | 
 | 70 | linkperf:perf-trace-python[1] |