Installation du profileur BlackFire

Sensio-Labs-blackfire

Blackfire est un outil proposé par SensioLabs qui permet une analyse complète d’un code PHP afin de rendre une application web la plus performante possible. Avec l’utilisation de plus en plus de frameworks tels que Symfony, le Zend Framework et bien d’autres, il devient de plus en plus difficile de pouvoir débugger avec toutes les librairies propres aux différents frameworks.

C’est là que Blackfire devient intéressant car il va un peu plus loin qu’un outil comme xDebug dans le sens où il permet d’avoir une représentation graphique et d’avoir une vue du code avec pour chaque page et chaque fonction son temps d’exécution soit en terme de mémoire soit en terme de temps d’exécution.

Installation de l’outil

L’installation reste assez simple, elle est composée de 4 étapes :

  • Installation de la clé et d’un nouveau dépôt
  • Installation d’un agent sur notre serveur qui se chargera d’envoyer des informations à BlackFire.io
  • Installation d’un CLI qui permettra le débuggage de notre code exécuté en ligne de commande
  • Installation d’une sonde pour PHP pour le débuggage de pages web en passant par l’agent envoyé à BlackFire.io

Avant de commencer à installer Blackfire, il va falloir créer un compte sur le site https://blackfire.io afin d’avoir tous nos identifiants pour la configuration propre à chaque compte.

La 1ere étape consiste à ajouter la clé et un nouveau dépôt qui n’est pas présent nativement :

Plusieurs tutoriaux proposent toujours la même commande :

wget -O - https://packagecloud.io/gpg.key | sudo apt-key add -

Cependant dans mon cas j’ai rencontré un problème avec la version de mon Ubuntu installé dans une VM (Ubuntu 14.04.3 LTS)

J’ai donc décomposé en 2 étapes :

wget https://packagecloud.io/gpg.key 
sudo apt-key add gpg.key

La commande ci-dessous va créer un fichier blackfire.list pour l’installation du package absent nativement :

echo "deb http://packages.blackfire.io/debian any main" | sudo tee /etc/apt/sources.list.d/blackfire.list

puis mettre à jour la liste des dêpots

sudo apt-get update

 

Installation de l’agent 

sudo apt-get install blackfire-agent

La commande ci-dessous va nous permettre d’enregistrer notre application :

sudo blackfire-agent -register

On nous demande d’entrer le server ID et server token, ces informations sont disponibles sur votre compte que vous aurez créé au préalable sur le site https://blackfire.io. On vous demandera de relancer l’agent afin qu’il prenne en compte les informations qu’on vient de rentrer :

sudo /etc/init.d/blackfire-agent restart

 

Installation du CLI 

sudo apt-get install blackfire-agent

Passons à la configuration en tapant cette ligne de commande :

blackfire config

On vous demande d’entrer le client ID et le client token également renseignés sur votre compte.

Installation de la sonde

sudo apt-get install blackfire-php

En allant sur /etc/php5/mods-available vous noterez la création d’un fichier blackfire.ini qui correspond à sa configuration.

Ouvrir ce fichier :

Dans la variable extension mettre le lien de l'extension blackfire.so qui se trouve dans /usr/lib/php5/VOTRE_BUILD, vérifiez avant cela que l’extension y apparaît bien.

Vous noterez qu’il sagit d’un lien symbolique, en tapant

ls –la /usr/lib/php5/VOTRE_BUILD/blackfire.so

qui vous donnera le chemin du fichier.

Copiez ce lien dans la variable extension de votre fichier config.

Puis relancez votre serveur :

sudo service apache2 restart

Dernière étape pour le débuggage web on devra installer l’extension Blackfire Companion uniquement disponible via le navigateur Chrome.

Et voila votre installation est terminée.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.