logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

traceshark - A viewer for traces from trace-cmd and perf

Author

traceshark was created by Viktor Rosendahl <viktor.rosendahl@iki.fi>.

Bugs

traceshark  uses the QCustomPlot library to display one graph for each task in the trace. For this reason
       the UI might become slow when displaying a large trace with many thousands of tasks, because  QCustomPLot
       has  not  been  designed  to  display  such  a  large number of graphs. This situation can be improved by
       compiling traceshark from source code and make sure that you use  its  own  internal  QCustomPlot,  which
       contains some hacks to improve the performance with a large number of graphs.

Description

traceshark is a graphical viewer for the Ftrace and Perf events that can be captured by the Linux kernel.
       It visualizes the following events:

       cpu_frequencycpu_idlesched_migrate_tasksched_process_exitsched_process_forksched_switchsched_wakeupsched_wakeup_newsched_waking

       The  sched_waking  events  are not really visualized but there is a button to find the sched_waking event
       that has instigated a particular sched_wakeup event.

Examples

       Below is an example of how you can use perf to capture a trace that can be viewed with traceshark:$sudomount-ttmpfstmpfs/mnt/tmp$cd/mnt/tmp$sudoperfrecord-epower:cpu_frequency-epower:cpu_idle-esched:sched_kthread_stop-esched:sched_kthread_stop_ret-esched:sched_migrate_task-esched:sched_move_numa-esched:sched_pi_setprio-esched:sched_process_exec-esched:sched_process_exit-esched:sched_process_fork-esched:sched_process_free-esched:sched_process_wait-esched:sched_stick_numa-esched:sched_swap_numa-esched:sched_switch-esched:sched_wait_task-esched:sched_wake_idle_without_ipi-esched:sched_wakeup-esched:sched_wakeup_new-esched:sched_waking-ecpu-cycles-ecpu-cycles--call-graph=dwarf,20480-m512M-r99-a<Control-C>$sudoperfscript-f>tracefile.asc$tracesharktracefile.asc&

       It is also possible to use trace-cmd to capture a trace:

       $sudomount-ttmpfstmpfs/mnt/tmp$cd/mnt/tmp$sudotrace-cmdrecord-ecpu_frequency-ecpu_idle-esched_kthread_stop-esched_kthread_stop_ret-esched_migrate_task-esched_move_numa-esched_pi_setprio-esched_process_exec-esched_process_exit-esched_process_fork-esched_process_free-esched_process_wait-esched_stick_numa-esched_swap_numa-esched_switch-esched_wait_task-esched_wake_idle_without_ipi-esched_wakeup-esched_wakeup_new-esched_waking-b32768-r99<Control-C>$trace-cmdreporttrace.dat>tracefile.asc$tracesharktracefile.asc&

Name

       traceshark - A viewer for traces from trace-cmd and perf

Options

traceshark supports the options that are supported by all Qt applications.  For  details,  check  the  Qt
       documentation, especially the documentations of the QApplication class.

See Also


       More detailed information about how to use traceshark:
       https://github.com/cunctator/traceshark

       Documentation of the QApplication class and the command line options:
       https://doc.qt.io/qt-5/qapplication.html

       Sample traces can be found here:
       https://github.com/cunctator/traceshark-resources

Synopsis

traceshark[OPTION]...[filename]

See Also