Tool to visualize total system behavior during a workload
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'.
-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\(cqt 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.
-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\(cqs interpreted as number of nanoseconds. If non-numeric string is given it\(cqs interpreted as task name.
-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
$ 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