Friday, May 24, 2013

Linux 'perf' tools: Overview and Current Developments

by Arnaldo Melo (Red Hat)

Friday, 24.05.2013, London I, 10:45-11:30 Uhr

The 'perf' tools are developed in the Linux kernel community, being shipped with the kernel sources, an experiment in using the same coding style and maintainance flow of the kernel itself for an userspace tool.

The overview will cover the basic tools used to:

. Show which events are available: 'perf list' . Count events: 'perf stat' . Show a dynamic view of where samples are taken, per thread, DSO, symbol, etc: 'perf top' . Do static and live code annotation: 'perf annotate' . Demonstrate the detached workflow of recording and then processing sample data: 'perf record' and 'perf report' . Create new events in arbitrary places in kernel and userspace: 'perf probe' . Process sample data using scripting languages such as perl and python: 'perf script' . Test the tools: 'perf test'

It will also talk about current developments such as:

. Data profiling using features present in new processors: 'perf mem' . Show the differences on multiple sample data files: 'perf diff' . Take samples for an event together with reading other event counters. . System call tracing: 'perf trace'

About the author Arnaldo Melo:

Founded Conectiva in 1995, a brazilian company that specialized in Linux services and published a Linux distribution.
Contributed with the Linux kernel maintaining legacy protocols such as IPX, LLC, Appletalk.
Refactored the TCP/IP stack to reuse non TCP specific parts with other transport protocols.
Implemented the Linux DCCP stack.
Created and maintains the dwarves tools, including pahole, a tool to help in optimizing data structures, used in projects such as the Linux Kernel, glibc, KDE, xine and many others.
Currently the maintainer of the Linux 'perf' observability (profiling, tracing, debugging, etc) tools.
Works for Red Hat since 2007.