Afin de compléter votre panoplie d’outils pour analyser votre application, je vais vous expliquer le fonctionnement du module des dépendances. Les dépendances sont tous les composants externes à votre application que cette dernière va appeler. Il s’agit surtout des appels HTTP, des appels à une base de données SQL ou au système de fichiers.
Actuellement, Application Insights gère “ out of the box ” les dépendances suivantes :
- ASP.NET
- Bases de données SQL
- Services web et WCF d’ASP.NET qui utilisent des liaisons HTTP
- Appels HTTP locaux ou distants
- Azure DocumentDb, table, stockage d’objets blob et file d’attente
- Java
- Appels effectués vers une base de données par le biais d’un pilote JDBC, comme MySQL, SQL Server, PostgreSQL ou SQLite.
- JavaScript dans les pages web : le SDK de page web enregistre automatiquement les appels Ajax en tant que dépendances.
Il est également possible d’écrire vos propres appels au SDK pour des dépendances qui ne seraient pas couvertes, ceci grâce à l’API TrackDependency.
Installation
Si vous avez une application s’exécutant avec .NET 4.6 ou plus, vous n’avez rien à faire. Sinon il vous faudra installer Application Insights Status Monitor sur votre serveur IIS (voir la documentation ici pour la marche à suivre).
Utilisation
Le graphique de visualisation des performances des dépendances se trouve dans l’onglet Performance (logique non ? ). On y accède par le menu Outils > Performances ou directement en cliquant sur le graphique des Réponses Serveur (voir image ci-dessous).
En dessous de la liste des requêtes serveur, se trouve la liste des moyennes d’exécution des appels aux dépendances.
Dans mon exemple – je n’ai que des requêtes SQL – on retrouve l’adresse du serveur SQL (ici floutée), ainsi que le nom de la requête.
En cliquant sur une des lignes, on accède à l’onglet de recherche, filtré sur cette dépendance. On peut alors visualiser le nombre d’appel et leur durée, mais aussi la liste exacte des appels.
Depuis la liste des appels, vous pouvez accéder au détail de celui-ci.
Dans cet onglet, vous retrouverez les propriétés principales de la dépendance (date, type, résultat, durée) et la commande appelée, ici une procédure stockée. Les petits points permettent d’accéder à toutes les propriétés. Vous aurez des informations plus précises sur l’appareil qui a effectué l’appel, l’IP, la version de l’application, etc.
Conclusion
En ayant les traces des appels à vos dépendances, vous allez être capable de trouver rapidement les requêtes SQL qui seraient trop lentes, détecter quels appels provoquent des erreurs dans votre application. Avec tout cela pour vous aider plus rien ne vous empêche de créer des applications toujours meilleures, toujours plus performantes.