OProfile

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
OProfile
Développeur John Levon
Environnement Linux
Langue en
Type profiler
Licence GNU LGPL
Site web (en) Site officiel

OProfile est un outil de profilage de code pour Linux, dont la première version a été écrite par John Levon en 2001 en tant que projet pour son Master en sciences[1].

Oprofile se compose d'un module noyau, ainsi que d'un daemon et de plusieurs utilitaires en espace utilisateur (un module noyau n'est plus requis depuis la version 0.9.8).

Oprofile permet de profiler le système entier ou bien un sous ensemble tel que les routines d'interruption, les pilotes de périphériques ou les process en espace utilisateur. Le surcoût de l'instrumentation reste faible.

Les modes d'instrumentation portable de Oprofile utilisent les timers système pour générer des évènements de mesure à intervalles réguliers. Certains modes, spécifiques à certains processeurs mais moins intrusifs, consistent à utiliser les hardware performance counters (en) intégrés. Le support pour les versions 2.2/2.4 de Linux ne comprend que les processeurs 32bits x86 et IA64. Pour les versions 2.6 du noyau Linux de nombreuses architectures sont supportées: x86 et x86_64, DEC Alpha, MIPS, ARM, Sparc64, PPC64, AVR. Les diagrammes de flux (en) ne sont disponibles que pour x86 et ARM.

En 2012, les ingénieurs d'IBM ont reconnu Oprofile comme étant l'un des outils de monitoring les plus utilisés sous Linux (avec perf tool)[2].

Utilitaires[modifier | modifier le code]

  • opcontrol permet de contrôler le daemon qui collecte les données qui sont sauvées périodiquement sous le répertoire /var/lib/oprofile/samples.
  • opreport permet d'afficher les données de base.
  • opannotate est capable de commenter le code source ou l'assembleur.
  • opgprof convertit les données de Oprofile en gprof[3].

Exemples:

opcontrol --start
run <example>
opcontrol --dump
opreport -l <example> > <outputfile> 
opcontrol --stop (arrête de collecter les données)
opcontrol --shutdown (efface les données)

Références[modifier | modifier le code]

  1. Interview: John Levon, 11 novembre 2001 // KernelTrap: "John Levon, the author of OProfile"
  2. A. Zanella, R. Arnold. Evaluate performance for Linux on POWER. Analyze performance using Linux tools, 12 Jun 2012 // IBM DeveloperWorks Technical library
  3. http://oprofile.sourceforge.net/doc/tools-overview.html

Annexes[modifier | modifier le code]

Outils d'analyse de performances (en)

Liens externes[modifier | modifier le code]

En Anglais :