Maintenant que nous avons découvert Blackfire.io, il est temps d'effectuer nos propres profils d'application !
Pour utiliser Blackfire.io en local, il va nous falloir l'installer ! Bien que ce soit un produit en SaaS ("Software As A Service"), vous aurez besoin d'installer différents éléments pour pouvoir l'utiliser sur votre machine de développement :
l'extension PHP Blackfire, qui instrumente le code PHP et récolte toutes les données lorsque votre application est exécutée ;
l'Agent Blackfire qui s'occupe de toutes les tâches lentes, comme nettoyer, anonymiser et compresser les données envoyées à la plateforme.
Ensuite, pour lancer manuellement une analyse, il faut deux outils complémentaires :
l'extension web Blackfire companion, disponible sur Google Chrome et Mozilla Firefox, qui permet de lancer une analyse en un clic ;
et enfin, le Client Blackfire qui est installé en même temps que l'Agent pour pouvoir lancer une analyse directement avec l'invite de commande.
Installation de Blackfire.io
L'installation de Blackfire devrait prendre seulement quelques minutes. Elle consiste en trois étapes principales :
Vérifier que votre système est compatible avec Blackfire.
Installer l'extension PHP et l'agent.
Commencer à profiler vos applications PHP !
Prérequis
L'Agent et le Client sont compatibles avec Linux, Mac OSX, FreeBSD et Windows.
L'Extension fonctionne de PHP 5.3 (5.4 sur Windows) à PHP 7.2.
Le Companion n'est disponible que sur Google Chrome ou Mozilla Firefox.
Enfin, la plateforme web fonctionne sur tous les navigateurs, à l'exception d'Internet Explorer.
Le processus d'installation est cependant différent en fonction de votre système d'exploitation. Il est décrit dans la documentation de Blackfire.io.
Installation de l'Agent
D'abord, accédez au site de la documentation dans la section "Installation" et choisissez votre système d'exploitation dans les onglets. Par exemple, pour Windows :
En utilisant l'invite de commande Windows, voici une capture de ce qu'il faut faire :
Configuration du Client
Le Client est installé avec l'Agent, mais il faut le configurer.
Installation de l'extension Blackfire
Consultez la partie "Installing the PHP Probe" et suivez les instructions. Pour résumer, il faut:
Télécharger la bonne version de l'extension.
Placer le fichier dans le dossier d'extensions disponible sur votre système.
Renommer le fichier.
Activer l'extension en éditant le fichier php.ini.
Relancer PHP ou le serveur web utilisé au besoin.
Édition du fichier de configuration PHP
Il faut maintenant activer l'extension Blackfire en éditant le fichier de configuration utilisé par PHP.
Pour Windows, voici le contenu que vous devriez ajouter dans le fichier php.ini :
[blackfire]
extension=php_blackfire.dll
blackfire.agent_timeout = 0.25
Installation de Blackfire Companion
Selon votre navigateur favori, recherchez l'extension dans le magasin ("store") correspondant. Pour rappel, l'extension est disponible sur Google Chrome et Mozilla Firefox. Vous devriez voir apparaître le logo de Blackfire.io dans la liste de vos extensions navigateur.
Exécution d'un profil local à l'aide du compagnon Blackfire
Et si nous créions le profil de l'application de démonstration de Symfony ? Installez le projet à l'aide de l'installeur Symfony ou de Composer, et rendez-le disponible dans votre navigateur (vous pouvez utiliser la commande php bin/console server:run
dans le projet, ou configurez Apache si vous l'avez à votre disposition).
Accédez ensuite à l'application à l'aide de votre navigateur, cliquez sur l'extension Blackfire, puis cliquez sur le bouton "Profile". Une barre d'analyse apparaît au-dessus de votre site, avec les métriques collectées, ainsi que la possibilité de nommer le profil :
Enfin, cliquez sur le bouton "View Call Graph" pour accéder au profil créé, que vous retrouverez avec les deux premiers profils que nous avions à notre disposition lors de la création du compte.
En résumé
Blackfire est composé d'un ensemble d'outils :
La plateforme web où l'on visualise et stocke ses profils.
L'extension PHP qui exécute le code PHP et récolte les données.
L'Agent qui nettoie, compresse et anonymise les données envoyées à la plateforme.
Companion, l'extension navigateur qui déclenche l'exécution d'un profil.
Enfin, le Client qui permet de déclencher l'exécution d'un profil en ligne de commande.
L'installation de Blackfire est simple, rapide et accessible sur la plupart des environnements de développement et de production.
Dans le prochain chapitre, nous allons nous intéresser en détail au Client Blackfire : bien qu'il remplisse le même rôle que Companion, il est beaucoup plus puissant !