Partager via


Analyse des données de performance JavaScript dans les applications du Windows Store

Cette rubrique décrit les données de performances du code JavaScript présenté dans les vues du rapport de l'outil de profilage Microsoft Visual Studio Express 2012 pour Windows 8. Pour collecter les données de performances JavaScript, consultez l'une des rubriques suivantes :

Dans cette rubrique

Cette rubrique contient les sections suivantes :

Viewing performance reports

Types de données de profilage

Types de vues du rapport de profilage

Vues du rapport de profilage

  • Vue Résumé

  • Vue Informations relatives à la fonction

  • Vue Arborescence des appels

  • Vue Appelant/appelé

  • Vues Modules et Fonctions

Personnalisation des vues de la grille des données

Ouverture du fichier du rapport de profilage

Lorsque vous arrêtez l'exécution d'un profilage de l'IDE Visual Studio, les données de performance s'affichent automatiquement dans un document.

Pour ouvrir un fichier de rapport de profilage (.vspx) généré par l'outil en ligne de commande VSPerf ou qui a été enregistré après une exécution de profilage précédente, procédez comme suit :

  1. Si nécessaire, ouvrez Visual Studio.

  2. Dans le menu Fichier, choisissez Ouvrir un fichier.

  3. Dans la boîte de dialogue Ouvrir un fichier, accédez au dossier contenant le fichier du rapport de profilage, puis sélectionnez le fichier du rapport.

Types de données de profilage

Les données de profilage d'une fonction comprennent la durée et les pourcentages totaux, moyens, maximum et minimum. Les données sont calculées pour deux jeux de valeurs de synchronisation :

  • Les valeurs Temps inclusif écoulé correspondent à la durée totale d'exécution d'une fonction.

  • Les valeurs Temps exclusif écoulé correspondent au temps passé par une fonction à exécuter son propre code uniquement. Les valeurs n'incluent pas le temps passé dans les fonctions enfants.

Types de vues du rapport de profilage

Les vues du rapport de profilage affichent les données de deux manières :

  • Les vues des graphiques des appels affichent des informations sur les fonctions dans le contexte des chemins d'exécution. L'arborescence Chemin réactif de la fenêtre Résumé affiche le chemin d'exécution dans lequel votre application a cumulativement passé le plus de temps pendant l'exécution du profilage. La vue Arborescence des appels est un graphique des appels pour toutes les fonctions de l'exécution du profilage. Les vues Informations relatives à la fonction et Appelant/appelé se concentrent sur une fonction sélectionnée, en affichant les fonctions qui ont appelé la fonction sélectionnée, et les fonctions qu'elles ont appelées. Les vues Graphique des appels vous aident à identifier les problèmes de performances dans vos algorithmes.

  • Les vues des listes de fonctions trient et répertorient les fonctions selon une colonne de données sélectionnée. La liste Fonctions exigeant le plus de travail individuel de la page Résumé répertorie les fonctions qui ont passé le plus de temps à exécuter leur propre code, à l'exclusion du temps passé par la fonction à appeler les fonctions enfants. La vue Modules regroupe les fonctions par fichier source pour le code JavaScript, et par module pour les autres langages. La vue Fonctions est une liste unique de fonctions.

Vues du rapport de profilage

Hh780915.collapse_all(fr-fr,VS.110).gifVue Résumé

La page Résumé fournit deux vue des données de profilage qui peuvent souvent vous indiquer les meilleurs éléments pour l'optimisation des performances.

  • L'arborescence Chemin réactif indique la pile d'appels dans laquelle votre application a cumulativement passé le plus de temps pendant l'exécution du profilage. Comprendre la raison pour laquelle cet algorithme prend autant de temps peut déboucher sur une optimisation.

  • La liste Fonctions exigeant le plus de travail individuel répertorie les dix fonctions qui ont utilisé le plus de temps exclusif. Vous pouvez obtenir rapidement des gains de performance significatifs en optimisant le code de fonction ou en réduisant le nombre d'appels de ces fonctions.

Hh780915.collapse_all(fr-fr,VS.110).gifVue Informations relatives à la fonction

Le graphique à barres Distribution des coûts représente les relations entre une fonction que vous sélectionnez et les fonctions d'appel qui ont exécuté la fonction sélectionnée, et entre la fonction sélectionnée et les fonctions appelées par cette fonction.

  • La barre Fonctions d'appel affiche les fonctions qui ont appelé la fonction sélectionnée. La taille d'un bloc d'appel de fonction indique le pourcentage de la durée totale d'exécution de la fonction sélectionnée qui a été provoquée par la fonction d'appel.

  • La barre ///Fonction sélectionnée indique la quantité relative de la durée totale d'exécution que la fonction sélectionnée a consacré à exécuter son propre code (le bloc Corps de la fonction) et la durée passée à exécuter les fonctions appelées par la fonction sélectionnée.

  • La barre Fonctions appelées affiche les fonctions qui ont été appelées par la fonction sélectionnée. La taille d'un bloc de la fonction appelée indique le pourcentage de la durée totale d'exécution de la fonction appelée qui a été consacrée dans la fonction appelée.

Hh780915.collapse_all(fr-fr,VS.110).gifVue Arborescence des appels

Utilisez la vue Arborescence des appels pour explorer les chemins d'exécution empruntés par votre application. La racine de l'arborescence correspond au point d'entrée de l'application. Chaque nœud de fonction répertorie toutes les fonctions appelées et les données de performance liées à ces appels de fonction. Valeurs de la fonction dans la vue Arborescence des appels pour les instances de fonction qui ont été appelées par la fonction parente dans l'arborescence des appels. Les valeurs de pourcentage représentent le rapport entre la durée de la valeur des instances de la fonction et la durée totale d'exécution de l'exécution du profilage.

Pour se concentrer sur un nœud de la vue Arborescence des appels, sélectionnez le nœud, puis choisissez Définir la racine dans le menu contextuel. En définissant le nœud racine, vous supprimez toutes les autres entrées de l'affichage, à l'exception de la sous-arborescence du nœud sélectionné. Pour restaurer le nœud d'origine du nœud racine, choisissez Réinitialiser la racine dans le menu contextuel.

Colonnes de la vue Arborescence des appels

Nom de la colonne

Description

Nombre d'appels

Nombre d'appels passés à la fonction par la fonction parente dans l'arborescence des appels.

% de temps inclusif écoulé

Pourcentage total du temps d'exécution passé à exécuter une fonction.

% de temps exclusif écoulé

Pourcentage total du temps d'exécution passé à exécuter le corps d'une fonction. Cela exclut le temps passé dans les fonctions appelées par la fonction.

Temps inclusif écoulé moy.

Temps moyen passé à exécuter cette fonction.

Temps exclusif écoulé moy.

Temps moyen passé à exécuter cette fonction. Cela exclut le temps passé dans les fonctions appelées par la fonction.

Nom de module

Pour les fonctions JavaScript, nom du fichier source contenant la fonction. Sinon, nom du module (.dll ou .exe) contenant la fonction.

Hh780915.collapse_all(fr-fr,VS.110).gifVue Appelant/appelé

La vue Appelant/appelé est une représentation sous forme d'arborescence des données du graphique à barres de distribution des coûts de la vue Résumé qui inclut tous les détails de minutage. Utilisez la vue Appelant/appelé pour analyser la relation entre une fonction sélectionnée et les fonctions qui l'ont appelée et la fonction qu'elle a appelée. La vue Appelant/appelé se compose de trois grilles.

La Fonction active de la grille centrale affiche les informations de profilage sur la fonction sélectionnée. Les valeurs incluent tous les appels à la fonction. La vue Fonctions qui ont appelé la fonction active s'affiche dans la grille supérieure et la vue Fonctions qui ont été appelées par la fonction active s'affiche dans la grille inférieure. Les valeurs de la fonction en cours représentent les totaux de tous les appels à la fonction. Les valeurs des fonctions appelantes et appelées comprennent uniquement le temps passé à appeler ou à être appelé par la fonction sélectionnée.

Pour parcourir les arborescences des appels d'une fonction, double-cliquez sur une fonction appelante ou appelée. La fonction sur laquelle vous double-cliquez devient la nouvelle fonction sélectionnée. Ses appelants et ses fonctions appelées sont désormais visibles.

Colonnes de la vue Appelant/appelé

Nom de la colonne

Description

Nombre d'appels

  • Pour la fonction sélectionnée, nombre total d'appels à la fonction dans l'exécution du profilage.

  • Pour une fonction appelante, nombre d'appels à la fonction sélectionnée par la fonction appelante.

  • Pour une fonction appelée, nombre d'appels à la fonction appelée par la fonction sélectionnée.

% de temps inclusif écoulé

  • Pour la fonction sélectionnée, pourcentage de la durée totale d'exécution du profilage qui a été consommée par la fonction sélectionnée. La valeur comprend le temps passé dans les fonctions appelées par la fonction sélectionnée.

  • Pour une fonction appelante, pourcentage de la durée totale d'exécution du profilage qui a été consommée par les instances de la fonction appelante qui a appelé la fonction sélectionnée.

  • Pour une fonction appelée, pourcentage de la durée totale d'exécution du profilage qui a été consommée par les instances de la fonction appelée par la fonction sélectionnée.

% de temps exclusif écoulé

  • Pour la fonction sélectionnée, pourcentage de la durée totale d'exécution du profilage qui a été consommée par la fonction sélectionnée. La valeur exclut le temps passé dans les fonctions appelées par la fonction sélectionnée.

  • Pour une fonction appelante, pourcentage de la durée totale d'exécution du profilage qui a été consommée par les instances de la fonction appelante qui a appelé la fonction sélectionnée, y compris le temps passé dans les fonctions appelées par la fonction appelante.

  • Pour une fonction appelée, pourcentage de la durée totale d'exécution du profilage qui a été consommée par les instances de la fonction appelée par la fonction sélectionnée, y compris le temps passé dans les fonctions appelées par la fonction appelée.

Temps inclusif écoulé moy.

  • Pour la fonction sélectionnée, durée moyenne de toutes les instances de la fonction sélectionnée.

  • Pour une fonction appelante, durée moyenne de toutes les instances de la fonction appelante qui a appelé la fonction sélectionnée.

  • Pour une fonction appelée, durée moyenne de toutes les instances de la fonction appelée par la fonction sélectionnée.

Temps exclusif écoulé moy.

  • Pour la fonction sélectionnée, durée moyenne de toutes les instances de la fonction sélectionnée. Cette valeur exclut le temps passé dans les fonctions appelées par la fonction sélectionnée.

  • Pour une fonction appelante, durée moyenne de toutes les instances de la fonction appelante qui a appelé la fonction sélectionnée, à l'exclusion du temps passé dans les fonctions appelées par la fonction appelante.

  • Pour une fonction appelée, durée moyenne de toutes les instances de la fonction appelée par la fonction sélectionnée, à l'exclusion du temps passé dans les fonctions appelées par la fonction appelée.

Nom de module

Pour les fonctions JavaScript, nom du fichier source contenant la fonction. Sinon, nom du module (.dll ou .exe) contenant la fonction.

Hh780915.collapse_all(fr-fr,VS.110).gifVues Modules et Fonctions

Les vues Modules et Fonctions affichent les détails des données de profilage pour les fonctions du rapport de profilage. La vue Modules organise les fonctions JavaScript par fichier source .js qui les contient. D'autres fonctions sont répertoriées par module, tel qu'un fichier .dll. La vue Fonctions répertorie toutes les fonctions sans utiliser de hiérarchie. La recherche de votre propre code dans la vue Modules est souvent plus facile qu'avec la vue Fonctions, mais il peut être plus facile de comparer les fonctions dans la vue Fonctions.

Colonnes des vues Modules et Fonctions

Nom de la colonne

Description

Nombre d'appels

Nombre d'appels à la fonction.

% de temps inclusif écoulé

Pourcentage de la durée totale d'exécution du profilage qui a été consacrée à l'exécution de la fonction.

% de temps exclusif écoulé

Pourcentage de la durée totale d'exécution qui a été consacrée à l'exécution de la fonction. Cette valeur exclut le temps passé dans les fonctions appelées par la fonction.

Temps inclusif écoulé moy.

Durée moyenne d'exécution de la fonction.

Temps exclusif écoulé moy.

Durée moyenne d'exécution de la fonction. Cette valeur exclut le temps passé dans les fonctions appelées par la fonction.

Nom de module

Pour les fonctions JavaScript, nom du fichier source contenant la fonction. Sinon, nom du module (.dll ou .exe) contenant la fonction.

Personnalisation des vues de la grille des données

Vous pouvez ajouter ou supprimer des colonnes de données et modifier l'ordre d'affichage des colonnes. Cliquez avec le bouton droit sur une ligne de données et choisissez Ajouter/supprimer des colonnes.

Notes

Lorsque la méthode d'instrumentation est utilisée pour le code managé et natif, des informations supplémentaires sur l'exécution du code sont collectées et présentées dans les champs de minutage Temps inclusif d'application et Temps exclusif d'application. Ces informations ne sont pas disponibles dans JavaScript, donc les valeurs Temps d'application sont les mêmes que les valeurs Temps écoulé. Il n'est pas recommandé d'ajouter ces champs à une vue.

Autres colonnes de données de profilage

Nom de la colonne

Description

Nom de la fonction

Nom de la fonction.

Adresse de la fonction

Adresse de la fonction.

Numéro de ligne de la fonction

Numéro de ligne du début de cette fonction dans le fichier source.

Nombre d'appels

Nombre total d'appels passés à cette fonction.

Fichier source

Fichier source contenant la définition pour cette fonction.

Nom de module

Nom du module qui contient la fonction.

Chemin de module

Chemin d'accès du module qui contient la fonction.

ID de processus

ID du processus (PID) de l'exécution du profilage.

Nom du processus

Nom du processus.

Traitement de sondes du temps exclusif

Surcharge de temps pour cette fonction qui est provoquée par l'instrumentation. Cela n'inclut pas la surcharge dans les fonctions appelées par la fonction. Le traitement de sondes a été soustrait de tous les temps exclusifs.

Traitement des sondes temps inclus

Surcharge de temps pour cette fonction et ses fonctions enfants qui est provoquée par l'instrumentation. Cela inclut la surcharge dans les fonctions appelées par la fonction. Le traitement de sondes a été soustrait de tous les temps inclusifs.

Temps exclusif écoulé

Temps exclusif écoulé total de tous les appels à cette fonction.

Temps exclusif écoulé max.

Temps exclusif écoulé maximal d'un appel à cette fonction.

Temps exclusif écoulé min.

Temps exclusif écoulé minimal d'un appel à cette fonction.

Temps inclusif écoulé

Temps inclusif écoulé total de tous les appels à cette fonction.

Temps inclusif écoulé max.

Temps inclusif écoulé maximal d'un appel à cette fonction.

Temps inclusif écoulé min.

Temps inclusif écoulé minimal d'un appel à cette fonction.