Section: New Software and Platforms


Participant : Erven Rohou.

Performance, hardware counters, analysis tool.

Status: Registered with APP (Agence de Protection des Programmes). Available under GNU General Public License v2, with number IDDN.FR.001.450006.000.S.P.2011.000.10800. Current version is 2.2, released March 2013.

Tiptop has been integrated in major Linux distributions, such as Fedora, Debian, Ubuntu.

Tiptop is a new simple and flexible user-level tool that collects hardware counter data on Linux platforms (version 2.6.31+). The goal is to make the collection of performance and bottleneck data as simple as possible, including simple installation and usage. In particular, we stress the following points.

  • Installation is only a matter of compiling the source code. No patching of the Linux kernel is needed, and no special-purpose module needs to be loaded.

  • No privilege is required, any user can run tiptop — non-privileged users can only watch processes they own, ability to monitor anybody's process opens the door to side-channel attacks.

  • The usage is similar to top. There is no need for the source code of the applications of interest, making it possible to monitor proprietary applications or libraries. And since there is no probe to insert in the application, understanding of the structure and implementation of complex algorithms and code bases is not required.

  • Applications do not need to be restarted, and monitoring can start at any time (obviously, only events that occur after the start of tiptop are observed).

  • Events can be counted per thread, or per process.

  • Any expression can be computed, using the basic arithmetic operators, constants, and counter values.

  • A configuration file lets users define their prefered setup, as well as custom expressions.

Tiptop is written in C. It can take advantage of libncurses when available for pseudo-graphic display.

For more information, please contact Erven Rohou or visit http://tiptop.gforge.inria.fr .