forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.5 KiB
128 lines
3.5 KiB
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. 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. |
|
|
|
'perf timechart' to turn a trace into a Scalable Vector Graphics file, |
|
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. |
|
|
|
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 |
|
-f:: |
|
--force:: |
|
Don't complain, do it. |
|
--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's interpreted |
|
as number of nanoseconds. If non-numeric string is given it's |
|
interpreted as task name. |
|
--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. |
|
|
|
RECORD OPTIONS |
|
-------------- |
|
-P:: |
|
--power-only:: |
|
Record only power-related events |
|
-T:: |
|
--tasks-only:: |
|
Record only tasks-related events |
|
-I:: |
|
--io-only:: |
|
Record only io-related events |
|
-g:: |
|
--callchain:: |
|
Do call-graph (stack chain/backtrace) recording |
|
|
|
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 |
|
|
|
Record system-wide IO events: |
|
|
|
$ perf timechart record -I |
|
|
|
then generate timechart: |
|
|
|
$ perf timechart |
|
|
|
SEE ALSO |
|
-------- |
|
linkperf:perf-record[1]
|
|
|