Blame view

tools/perf/Documentation/perf-timechart.txt 3.41 KB
151750cec   Arjan van de Ven   perf: Add timecha...
1
2
3
4
5
6
7
8
9
10
  perf-timechart(1)
  =================
  
  NAME
  ----
  perf-timechart - Tool to visualize total system behavior during a workload
  
  SYNOPSIS
  --------
  [verse]
367b3152d   Stanislav Fomichev   perf timechart: A...
11
  'perf timechart' [<timechart options>] {record} [<record options>]
151750cec   Arjan van de Ven   perf: Add timecha...
12
13
14
15
16
17
  
  DESCRIPTION
  -----------
  There are two variants of perf timechart:
  
    'perf timechart record <command>' to record the system level events
b97b59b93   Stanislav Fomichev   perf timechart: I...
18
19
20
    of an arbitrary workload. By default timechart records only scheduler
    and CPU events (task switches, running times, CPU power states, etc),
    but it's possible to record IO (disk, network) activity using -I argument.
151750cec   Arjan van de Ven   perf: Add timecha...
21
22
  
    'perf timechart' to turn a trace into a Scalable Vector Graphics file,
b97b59b93   Stanislav Fomichev   perf timechart: I...
23
24
25
26
27
28
29
30
31
    that can be viewed with popular SVG viewers such as 'Inkscape'. Depending
    on the events in the perf.data file, timechart will contain scheduler/cpu
    events or IO events.
  
    In IO mode, every bar has two charts: upper and lower.
    Upper bar shows incoming events (disk reads, ingress network packets).
    Lower bar shows outgoing events (disk writes, egress network packets).
    There are also poll bars which show how much time application spent
    in poll/epoll/select syscalls.
151750cec   Arjan van de Ven   perf: Add timecha...
32

367b3152d   Stanislav Fomichev   perf timechart: A...
33
34
  TIMECHART OPTIONS
  -----------------
151750cec   Arjan van de Ven   perf: Add timecha...
35
36
37
38
39
  -o::
  --output=::
          Select the output file (default: output.svg)
  -i::
  --input=::
efad14150   Robert Richter   perf report: Acce...
40
          Select the input file (default: perf.data unless stdin is a fifo)
5094b6554   Arjan van de Ven   perf util: Make t...
41
42
43
  -w::
  --width=::
          Select the width of the SVG file (default: 1000)
bbe2987be   Arjan van de Ven   perf timechart: A...
44
  -P::
39a90a8ef   Arjan van de Ven   perf timechart: A...
45
46
  --power-only::
          Only output the CPU power section of the diagram
c87097d39   Stanislav Fomichev   perf timechart: A...
47
48
49
  -T::
  --tasks-only::
          Don't output processor state transitions
bbe2987be   Arjan van de Ven   perf timechart: A...
50
51
52
  -p::
  --process::
          Select the processes to display, by name or PID
151750cec   Arjan van de Ven   perf: Add timecha...
53

ec5761eab   David Ahern   perf symbols: Add...
54
55
  --symfs=<directory>::
          Look for files with symbols relative to this directory.
54874e323   Stanislav Fomichev   perf timechart: A...
56
57
58
  -n::
  --proc-num::
          Print task info for at least given number of tasks.
c50799979   Stanislav Fomichev   perf timechart: A...
59
60
61
  -t::
  --topology::
          Sort CPUs according to topology.
e57a2dffb   Stanislav Fomichev   perf timechart: A...
62
63
64
65
66
  --highlight=<duration_nsecs|task_name>::
  	Highlight tasks (using different color) that run more than given
  	duration or tasks with given name. If number is given it's interpreted
  	as number of nanoseconds. If non-numeric string is given it's
  	interpreted as task name.
d243144af   Stanislav Fomichev   perf timechart: A...
67
68
69
70
71
72
73
74
75
76
77
78
79
  --io-skip-eagain::
  	Don't draw EAGAIN IO events.
  --io-min-time=<nsecs>::
  	Draw small events as if they lasted min-time. Useful when you need
  	to see very small and fast IO. It's possible to specify ms or us
  	suffix to specify time in milliseconds or microseconds.
  	Default value is 1ms.
  --io-merge-dist=<nsecs>::
  	Merge events that are merge-dist nanoseconds apart.
  	Reduces number of figures on the SVG and makes it more render-friendly.
  	It's possible to specify ms or us suffix to specify time in
  	milliseconds or microseconds.
  	Default value is 1us.
54874e323   Stanislav Fomichev   perf timechart: A...
80

367b3152d   Stanislav Fomichev   perf timechart: A...
81
82
83
84
85
86
87
88
  RECORD OPTIONS
  --------------
  -P::
  --power-only::
          Record only power-related events
  -T::
  --tasks-only::
          Record only tasks-related events
b97b59b93   Stanislav Fomichev   perf timechart: I...
89
90
91
  -I::
  --io-only::
          Record only io-related events
6f8d67fa0   Stanislav Fomichev   perf timechart: A...
92
93
94
  -g::
  --callchain::
          Do call-graph (stack chain/backtrace) recording
367b3152d   Stanislav Fomichev   perf timechart: A...
95

f48e00cea   Stanislav Fomichev   perf timechart: R...
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
  EXAMPLES
  --------
  
  $ perf timechart record git pull
  
    [ perf record: Woken up 13 times to write data ]
    [ perf record: Captured and wrote 4.253 MB perf.data (~185801 samples) ]
  
  $ perf timechart
  
    Written 10.2 seconds of trace to output.svg.
  
  Record system-wide timechart:
  
    $ perf timechart record
  
    then generate timechart and highlight 'gcc' tasks:
  
    $ perf timechart --highlight gcc
b97b59b93   Stanislav Fomichev   perf timechart: I...
115
116
117
118
119
120
121
  Record system-wide IO events:
  
    $ perf timechart record -I
  
    then generate timechart:
  
    $ perf timechart
151750cec   Arjan van de Ven   perf: Add timecha...
122
123
124
  SEE ALSO
  --------
  linkperf:perf-record[1]