Top Qs
Chronologie
Chat
Contexte
OProfile
outil de profilage de code pour Linux De Wikipédia, l'encyclopédie libre
Remove ads
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].
Remove ads
Utilitaires
- 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)
Remove ads
Références
Liens externes
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads