Afficher les résultats des optimisations du code

Une fois que vous avez paramétré et configuré des optimisations de code sur votre application, vous pouvez accéder et afficher les aperçus que vous recevez.

optimisations de code Access

Vous pouvez accéder aux optimisations du code via deux points d’entrée :

Page de vue d’ensemble consolidée des optimisations du code (préversion)

Consultez les résultats de vos optimisations de code en utilisant la page vue générale des optimisations du code. Dans cette vue d’ensemble consolidée, vous pouvez accéder aux résultats sur plusieurs abonnements pour plusieurs ressources d'Application Insights.

Capture d’écran de la page vue d’ensemble consolidée des optimisations du code.

Vous pouvez filtrer les résultats consolidés en recherchant un champ de filtre ou en définissant les filtres suivants :

Filtre Descriptif Par défaut
Intervalle de temps Sélectionnez l’intervalle de temps à partir duquel vous souhaitez afficher les résultats des optimisations du code. Dernières 24 heures
Rôle Nom du rôle attribué à la machine ou à la charge de travail des services de reporting. Peut être mis à jour via la configuration d’Application Insights. Tous les rôles
Abonnement Abonnement auquel appartient l’information. Vous pouvez sélectionner plusieurs. N/A
Application Insights Ressource Application Insights avec laquelle votre application est associée. Vous pouvez sélectionner plusieurs. N/A
Type d’information Type de problème, tel que CPU, mémoire, blocage et exceptions. Tous les types

Vous pouvez ensuite trier les colonnes dans les résultats d’insights en fonction de votre affichage souhaité, notamment par :

  • Problème de performances
  • Nom complet de la méthode parente

Ressources individuelles d'Application Insights

Vous pouvez accéder aux Optimisations de code spécifiques aux ressources individuelles Application Insights à partir du menu de gauche de la ressource. Sélectionnez Examiner> lesperformances et sélectionnez le bouton Optimisations du code dans le menu supérieur.

Capture d’écran des optimisations de code situées dans la page Performances.

Vous pouvez filtrer les résultats consolidés en recherchant un champ de filtre ou en définissant les filtres suivants :

Filtre Descriptif Par défaut
Intervalle de temps Sélectionnez l’intervalle de temps à partir duquel vous souhaitez afficher les résultats des optimisations du code. Dernières 24 heures
Rôle Nom du rôle attribué à la machine ou à la charge de travail des services de reporting. Peut être mis à jour via la configuration d’Application Insights. Tous les rôles
Type d’information Type de problème, tel que CPU, mémoire, blocage et exceptions. Tous les types

Vous pouvez ensuite trier les colonnes dans les résultats d’insights en fonction de votre affichage souhaité, notamment par :

  • Problème de performances
  • Nombre de profils qui contenaient ce problème
  • Nom complet de la méthode parente

Interpréter les pourcentages d’utilisation estimés de la mémoire et du processeur

Le processeur et la mémoire estimés sont déterminés en fonction du volume d’activité dans votre application. Outre les pourcentages de mémoire et du processeur, Optimisations de code inclut également :

  • Tailles d’allocation réelles (en octets)
  • Répartition des types alloués effectués dans l’appel

Mémoire

Pour la Mémoire, le nombre représente un pourcentage de toutes les allocations effectuées dans la trace. Par exemple, si un problème utilise 24 % de la mémoire, vous avez dépensé 24 % de vos allocations dans cet appel.

CPU (Unité centrale de traitement)

Pour le processeur, le pourcentage est basé sur le nombre de processeurs dans votre ordinateur (quatre cœurs, huit cœurs, etc.) et le temps de trace. Par exemple, supposons que votre trace soit de 10 secondes et que vous avez 4 PROCESSEURs : vous avez un total de 40 secondes de temps processeur. Si l’insight indique que la ligne de code utilise 5 % du processeur, elle utilise 5 % de 40 secondes, ou 2 secondes.

Blocage

Indique où les threads ont passé du temps à attendre des ressources telles que les opérations d’E/S, les verrous ou les veilles. Le temps de blocage est signalé en secondes et agrégé sur tous les threads et cœurs. Les totaux peuvent donc dépasser la durée de capture, en suivant la même règle d’agrégation que les métriques du processeur.

Utilisez cette métrique pour identifier les goulots d’étranglement de latence, tels que :

  • Contention de verrouillage entre threads
  • Opérations d’E/S synchrones
  • Blocage des appels dans les opérations asynchrones

Exceptions

Les insights sur les exceptions sont extraits des instantanés collectés par le Débogueur de capture instantanée. Si le Snapshot Debugger est activé dans votre application et que des instantanés sont collectés, ils sont automatiquement traités pour l’extraction d’informations dans Code Optimizations.

Afficher les informations

Après avoir trié et filtré les résultats des optimisations du code, vous pouvez sélectionner chaque insight pour afficher les détails suivants dans un volet :

  • Description détaillée d’un insight sur des bogues de performances.
  • Pile complète des appels.
  • Recommandations sur la façon de résoudre le problème de performances.
  • Chronologie de l’impact et du seuil de tendance du problème.

Aperçus

L’onglet Insights fournit les éléments suivants :

  • Brève description du problème sélectionné.
  • Condition actuelle de votre utilisation de la mémoire des ressources ou du processeur.
  • Recommandation générée par l’IA pour résoudre le problème.

Capture d’écran du volet détails d’un résultat processeur Code Optimizations spécifique.

Remarque

Si vous ne voyez aucun insight, il est probable que le service Code Optimizations n’ait détecté aucun goulot d’étranglement dans votre code. Revenez pour voir si des informations apparaissent.

Pile des appels

Dans le volet des détails de l’insignt, sous l’en-tête Pile des appels, vous pouvez :

  • Sélectionnez Développer pour afficher le stack d'appels complet associé au problème de performances.
  • Sélectionnez Copy pour copier la pile des appels.

Capture d’écran de l’en-tête de la pile d’appels dans le volet de détails pour le résultat CPU spécifique mentionné précédemment.

Capture d’écran de la pile d’appels développée pour le résultat CPU spécifique mentionné précédemment.

Chronologie

Dans le volet d’informations, sous Chronologie, vous pouvez également afficher un graphique illustrant la chronologie de l’impact et du seuil d’un problème de performances spécifique. Les résultats varient en fonction des filtres que vous définissez. Par exemple, les insights d’un problème de performance MémoireString.SubString()" observé au cours des dernières 24 heures pourraient ressembler à :

Capture d’écran de l’impact sur la tendance du processeur au cours des sept jours.

Étape suivante