123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- 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
- --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]
|