OProfile

outil de profilage de code pour Linux

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[2].

OProfile

Informations
Développé par John Levon
Première version Voir et modifier les données sur Wikidata
Dernière version 1.2.0 ()[1]Voir et modifier les données sur Wikidata
Système d'exploitation LinuxVoir et modifier les données sur Wikidata
Environnement Linux
Langues en
Type profiler
Licence GNU LGPL
Site web (en) Site officiel

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)[3].

Utilitaires modifier

  • 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[4].

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

  1. « OProfile - A System Profiler for Linux (News) » (consulté le )
  2. Interview: John Levon « Copie archivée » (version du sur Internet Archive), 11 novembre 2001 // KernelTrap: "John Levon, the author of OProfile"
  3. A. Zanella, R. Arnold. Evaluate performance for Linux on POWER. Analyze performance using Linux tools, 12 Jun 2012 // IBM DeveloperWorks Technical library
  4. « 4. Tools summary », sur sourceforge.net (consulté le ).

Annexes modifier

Outils d'analyse de performances (en)

Liens externes modifier

En anglais :