Les outils d’APM (Application Performance Management) utilisés par 2le
« ça ne marche pas »… la phrase cauchemar des développeurs… Mais qu’est ce qui ne marche pas ? Sur quel écran ? En faisant quelle action ? Avec quel profil utilisateur ? Et quel navigateur ? Autant de questions auxquels les utilisateurs ne savent parfois pas répondre, laissant le développeur perplexe devant ses lignes de code. Heureusement, des outils existent pour le sortir de cette ornière, les APM – comprendre Application Performance Management. Ceux-ci ont le bon goût d’envoyer au développeur un mail pour chaque erreur soulevée par le système, mail détaillant tout le contexte nécessaire à la bonne compréhension et au solutionnement du-dit bug. Chez 2LE, nous utilisons 2 APM pour surveiller et gérer les performances de nos logiciels :
Error Dashboard : APM pour le framework Symfony
Nous avons conçu pour nos projets un Dashboard qui recense les erreurs par projet. Cet outil APM fonctionne uniquement sur le framework Symfony qui est utilisé pour la majorité de nos développements. A chaque erreur sur l’un de nos logiciels en production, un mail est envoyé à l’équipe technique et un encart détaillé apparaît sur le tableau de bord affiché sur le grand écran de notre open space. Là, 2 solutions se présentent au développeur : se faire Hara-Kiri pour laver son honneur ou corriger le bug. Généralement, nos développeurs choisissent la seconde option. 😉
Sentry : suivi des erreurs en open source
Notre outil interne ne fonctionne qu’avec les applications qui sont réalisées avec Symfony. Cependant, il nous arrive de travailler sur d’autres frameworks. Nous avons donc adopté la solution « Sentry » pour détecter ces autres erreurs.
Créé par David Cramer et Chris Jennings, Sentry est capable de détecter les erreurs de plusieurs technologies : PHP, JavaScript, Python, … La baseline du site résume l’essence de l’outil : « Les bugs ne sont pas géniaux, mais votre code peut l’être ».
Les erreurs s’affichent par projets clients en donnant des informations complémentaires comme les utilisateurs connectés, les services et les serveurs affectés par le bug.