blob: df98d1c82688a4efb6a59d28d254bdbda229ad60 [file] [log] [blame]
Arjan van de Ven151750c2009-09-19 13:36:04 +02001perf-timechart(1)
2=================
3
4NAME
5----
6perf-timechart - Tool to visualize total system behavior during a workload
7
8SYNOPSIS
9--------
10[verse]
Stanislav Fomichev367b3152013-11-01 20:25:50 +040011'perf timechart' [<timechart options>] {record} [<record options>]
Arjan van de Ven151750c2009-09-19 13:36:04 +020012
13DESCRIPTION
14-----------
15There are two variants of perf timechart:
16
17 'perf timechart record <command>' to record the system level events
Stanislav Fomichevb97b59b2014-07-08 20:03:41 +040018 of an arbitrary workload. By default timechart records only scheduler
19 and CPU events (task switches, running times, CPU power states, etc),
20 but it's possible to record IO (disk, network) activity using -I argument.
Arjan van de Ven151750c2009-09-19 13:36:04 +020021
22 'perf timechart' to turn a trace into a Scalable Vector Graphics file,
Stanislav Fomichevb97b59b2014-07-08 20:03:41 +040023 that can be viewed with popular SVG viewers such as 'Inkscape'. Depending
24 on the events in the perf.data file, timechart will contain scheduler/cpu
25 events or IO events.
26
27 In IO mode, every bar has two charts: upper and lower.
28 Upper bar shows incoming events (disk reads, ingress network packets).
29 Lower bar shows outgoing events (disk writes, egress network packets).
30 There are also poll bars which show how much time application spent
31 in poll/epoll/select syscalls.
Arjan van de Ven151750c2009-09-19 13:36:04 +020032
Stanislav Fomichev367b3152013-11-01 20:25:50 +040033TIMECHART OPTIONS
34-----------------
Arjan van de Ven151750c2009-09-19 13:36:04 +020035-o::
36--output=::
37 Select the output file (default: output.svg)
38-i::
39--input=::
Robert Richterefad1412011-12-07 10:02:54 +010040 Select the input file (default: perf.data unless stdin is a fifo)
Arjan van de Ven5094b652009-09-20 18:14:16 +020041-w::
42--width=::
43 Select the width of the SVG file (default: 1000)
Arjan van de Venbbe29872009-10-20 07:09:39 +090044-P::
Arjan van de Ven39a90a82009-09-24 15:40:13 +020045--power-only::
46 Only output the CPU power section of the diagram
Stanislav Fomichevc87097d2013-11-01 20:25:48 +040047-T::
48--tasks-only::
49 Don't output processor state transitions
Arjan van de Venbbe29872009-10-20 07:09:39 +090050-p::
51--process::
52 Select the processes to display, by name or PID
Arjan van de Ven151750c2009-09-19 13:36:04 +020053
David Ahernec5761e2010-12-09 13:27:07 -070054--symfs=<directory>::
55 Look for files with symbols relative to this directory.
Stanislav Fomichev54874e32013-11-01 20:25:46 +040056-n::
57--proc-num::
58 Print task info for at least given number of tasks.
Stanislav Fomichevc5079992013-12-02 18:37:36 +040059-t::
60--topology::
61 Sort CPUs according to topology.
Stanislav Fomicheve57a2df2013-12-17 19:53:49 +040062--highlight=<duration_nsecs|task_name>::
63 Highlight tasks (using different color) that run more than given
64 duration or tasks with given name. If number is given it's interpreted
65 as number of nanoseconds. If non-numeric string is given it's
66 interpreted as task name.
Stanislav Fomichevd2431442014-07-08 20:03:43 +040067--io-skip-eagain::
68 Don't draw EAGAIN IO events.
69--io-min-time=<nsecs>::
70 Draw small events as if they lasted min-time. Useful when you need
71 to see very small and fast IO. It's possible to specify ms or us
72 suffix to specify time in milliseconds or microseconds.
73 Default value is 1ms.
74--io-merge-dist=<nsecs>::
75 Merge events that are merge-dist nanoseconds apart.
76 Reduces number of figures on the SVG and makes it more render-friendly.
77 It's possible to specify ms or us suffix to specify time in
78 milliseconds or microseconds.
79 Default value is 1us.
Stanislav Fomichev54874e32013-11-01 20:25:46 +040080
Stanislav Fomichev367b3152013-11-01 20:25:50 +040081RECORD OPTIONS
82--------------
83-P::
84--power-only::
85 Record only power-related events
86-T::
87--tasks-only::
88 Record only tasks-related events
Stanislav Fomichevb97b59b2014-07-08 20:03:41 +040089-I::
90--io-only::
91 Record only io-related events
Stanislav Fomichev6f8d67f2013-11-01 20:25:51 +040092-g::
93--callchain::
94 Do call-graph (stack chain/backtrace) recording
Stanislav Fomichev367b3152013-11-01 20:25:50 +040095
Stanislav Fomichevf48e00c2014-06-10 13:52:16 +040096EXAMPLES
97--------
98
99$ perf timechart record git pull
100
101 [ perf record: Woken up 13 times to write data ]
102 [ perf record: Captured and wrote 4.253 MB perf.data (~185801 samples) ]
103
104$ perf timechart
105
106 Written 10.2 seconds of trace to output.svg.
107
108Record system-wide timechart:
109
110 $ perf timechart record
111
112 then generate timechart and highlight 'gcc' tasks:
113
114 $ perf timechart --highlight gcc
115
Stanislav Fomichevb97b59b2014-07-08 20:03:41 +0400116Record system-wide IO events:
117
118 $ perf timechart record -I
119
120 then generate timechart:
121
122 $ perf timechart
123
Arjan van de Ven151750c2009-09-19 13:36:04 +0200124SEE ALSO
125--------
126linkperf:perf-record[1]