# Profilage hiérarchique

# Introduction

XHProf est un profileur hiérarchique et instrumental léger. Lors de la phase de collecte de données, il garde trace des nombres d'appels et des métriques inclusives pour les arcs dans le graphique dynamique d'appels d'un programme. Il calcule des métriques exclusives lors de la phase de rapport/envoi, comme la durée accumulée, le temps CPU, ainsi que l'utilisation de mémoire. Un profil de fonction peut être décomposé par fonctions appelantes ou appelées. XHProf gère les fonctions récursives en détectant les cycles dans le graphique d'appels lors de la collecte des données, et évite les cycles en donnant des noms uniques dépendant de la profondeur lors des invocations récursives.

XHProf inclut une interface utilisateur HTML simple (écrite en PHP). Le navigateur web permet ainsi de consulter le résultat du profilage de façon simple, ainsi que de partager les résultats. Une image du graphique d'appels est également fournie.

Les rapports XHProf peuvent souvent être utiles pour comprendre la structure du code exécuté. La nature hiérarchique des rapports peut être utilisée pour déterminer, par exemple, la chaîne d'appels ayant conduit à l'appel d'une fonction particulière.

XHProf permet de comparer deux exécutions (i.e. rapports différentiels) ou d'agréger des données issues de plusieurs exécutions. Les rapports différentiels et agrégés, tout comme les rapports d'exécution unique, offrent une vue plate ainsi qu'une vue hiérarchique du profilage.

Il est possible de trouver plus d'informations sur la page » facebook de xhprof.

- Installation/Configuration
  - Pré-requis
  - Installation
  - Configuration à l'exécution
- Constantes pré-définies
- Exemples
- Fonctions Xhprof
  - xhprof_disable — Stoppe le profilage xhprof
  - xhprof_enable — Démarre le profilage xhprof
  - xhprof_sample_disable — Stoppe le profilage xhprof sur échantillon
  - xhprof_sample_enable — Démarre le profilage en mode échantillonnage

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open