2. Martin Supiot Job @cleverage Twitter @webaaz Blog webaaz.com Projet mybabygame.com
3. Le profilage est la mesure et l'analyse de l'execution d'un script.
4. Profilage Un outil de profilage permet de : Détecter les goulots d'étranglements Refactoriser sans perte de performances S'assurer que tout est bien optimisé
10. Présentation XHProf est un profileur hiérarchique Il est doté d'une interface de navigation PHP/HTML. Les données sont collectées par une extension PHP implémentée en C.
11. Présentation XHProf permet de mesurer la charge mémoire, le temps et le nombre d'appels de chaque fonction. Il peut nativement comparer ou aggréger des résultats
12. Le projet est en beta et le sera probablement toujours désormais. Il est cependant stable et peut être utilisé !
13. Open-source Le projet a été liberé en mars 2009 sous license Apache 2.0 et est disponible sur : Pecl Github Dépôts ppa non-officiels
14. Statistiques Une utilisation discrète 0.9.2 - 1er juin 2009 : 61,267 0.9.1 - 21 mars 2009 : 4,924 0.9.0 - 18 mars 2009 : 3,430
19. Configuration (php.ini) [xhprof] extension=xhprof.so xhprof.output_dir="/var/log/xhprof" Il ne reste qu'à vérifier le phpinfo() et c'est parti !
20. Graphviz Pour l'affichage des rapports sous forme graphique, la librairie Graphviz dot est nécéssaire.
21. XHGui Récupération de l'archive sur Github et copie dans le dossier web du serveur Création de la table sur le SGBD
22. XHGui Ajout des paramètres de la base de données au fichier de configuration Ajout de vhost et configuration du fichier hosts
23. Mise en œuvre basique // Début du profilage xhprof_enable(); // Éxécution du programme foo(); // fin du profilage $xhprof_data = xhprof_disable(); // affichage des données brutes print_r($xhprof_data);
24. Mise en œuvre simplifiée Création de fichiers header.php et footer.php & inclusion via Apache : php_value_auto_prepend_file "/var/www/xhprof/xhprofgui/external/header.php" php_value_auto_append_file "/var/www/xhprof/xhprofgui/external/footer.php"
25. Contexte Test d'un système de concaténation et minification de JS et de CSS.
31. Utilisation en production XHProf permet une utilisation en production grâce à son faible impact et à une possibilité d'échantillonner les pages cibles. 1/10000 par exemple.
38. Documentations annexes Une version française va la rejoindre sous peu. Il existe quelques autres sources éparses mais qui suffisent largement à prendre le produit en main.