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