summaryrefslogtreecommitdiff
path: root/tools/perf/Documentation/perf-timechart.txt
blob: bc5990c33dc0dd3b0e81d3fcd0a9a80c2e1a6ce6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
perf-timechart(1)
=================

NAME
----
perf-timechart - Tool to visualize total system behavior during a workload

SYNOPSIS
--------
[verse]
'perf timechart' [<timechart options>] {record} [<record options>]

DESCRIPTION
-----------
There are two variants of perf timechart:

  'perf timechart record <command>' to record the system level events
  of an arbitrary workload.

  'perf timechart' to turn a trace into a Scalable Vector Graphics file,
  that can be viewed with popular SVG viewers such as 'Inkscape'.

TIMECHART OPTIONS
-----------------
-o::
--output=::
        Select the output file (default: output.svg)
-i::
--input=::
        Select the input file (default: perf.data unless stdin is a fifo)
-w::
--width=::
        Select the width of the SVG file (default: 1000)
-P::
--power-only::
        Only output the CPU power section of the diagram
-T::
--tasks-only::
        Don't output processor state transitions
-p::
--process::
        Select the processes to display, by name or PID

--symfs=<directory>::
        Look for files with symbols relative to this directory.

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

-n::
--proc-num::
        Print task info for at least given number of tasks.
-t::
--topology::
        Sort CPUs according to topology.
--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.

RECORD OPTIONS
--------------
-P::
--power-only::
        Record only power-related events
-T::
--tasks-only::
        Record only tasks-related events
-g::
--callchain::
        Do call-graph (stack chain/backtrace) recording

SEE ALSO
--------
linkperf:perf-record[1]