Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
À l’aide de la boîte de dialogue Paramètres avancés dans le visualiseur concurrentiel, vous pouvez contrôler la façon dont les traces sont collectées. La boîte de dialogue contient des onglets pour les symboles, Just My Code, la mise en mémoire tampon, le filtrage, les événements CLR, les marqueurs, les fournisseurs et les fichiers.
Symboles
Le Visualiseur de Concurrence utilise les mêmes paramètres de symbole que le Débogueur Visual Studio. Le visualiseur concurrentiel utilise les paramètres pour résoudre les piles d’appels associées aux données de performances. Lorsqu’il traite les traces, le visualiseur concurrentiel accède aux serveurs de symboles spécifiés dans la page des paramètres. Lorsque ces données sont accessibles sur un réseau, le traitement des traces ralentit. Pour réduire la durée nécessaire à la résolution des symboles, vous pouvez mettre en cache les symboles localement. Si des symboles ont été téléchargés, Visual Studio les charge à partir du cache local.
Juste mon code
Par défaut, Just My Code est l’ensemble de . exe et . fichiers dll associés à la solution actuelle dans Visual Studio. Le visualiseur concurrentiel évalue cet ensemble de fichiers lorsque vous utilisez la fonctionnalité Just My Code pour filtrer les piles d’appels. Sous l’onglet Just My Code, vous pouvez ajouter des répertoires qui contiennent .exe et .dll aux emplacements utilisés par le Visualiseur de concurrence pour Just My Code.
Les chemins d’accès des fichiers .exe et .dll sont stockés dans le fichier de trace lorsque la trace est collectée. La modification de ce paramètre n’affecte pas les traces collectées précédemment.
Mise en mémoire tampon
Le visualiseur concurrentiel utilise le suivi d’événements pour Windows (ETW) lorsqu’il collecte une trace. ETW utilise différentes mémoires tampons, car elle stocke les événements. Les paramètres de mémoire tampon ETW par défaut peuvent ne pas être optimaux dans tous les cas, et dans certains cas, peuvent entraîner des problèmes tels que des événements perdus. Vous pouvez utiliser l’onglet Mise en mémoire tampon pour configurer les paramètres de la mémoire tampon ETW. Pour plus d’informations, consultez le suivi des événements et la structure EVENT_TRACE_PROPERTIES.
Filter
Sous l’onglet Filtre, vous pouvez sélectionner l’ensemble d’événements collectés par le visualiseur concurrentiel. La sélection d’un sous-ensemble d’événements limite les types de données affichés dans les rapports, réduit la taille de chaque trace et réduit le temps nécessaire pour traiter les traces.
Événements CLR
Les événements générés par le Common Language Runtime (CLR) permettent au visualiseur concurrentiel de résoudre les piles d’appels managées. Si vous désactivez la collecte d’événements CLR, la taille de trace est réduite, mais certaines piles d’appels ne sont pas résolues. Par conséquent, certaines activités de thread de processeur peuvent être classées de manière incorrecte.
Collecte pour les processus natifs
Par défaut, les événements CLR sont collectés uniquement lorsqu’un processus managé est profilé, car ils sont normalement inutiles pour les processus natifs. Dans certains cas (par exemple, lorsqu’un processus natif héberge le CLR), vous devrez peut-être collecter des événements CLR pour un processus natif. Si c’est le cas, cochez la case Collecter pour les processus natifs .
Désactiver les événements de réduction
Le CLR génère des événements à partir de deux fournisseurs : runtime et rundown. Si vous souhaitez collecter des événements d’exécution CLR, mais que vous souhaitez éviter de collecter des événements de terminaison, activez la case à cocher Désactiver les événements de terminaison. Cela réduit la taille du fichier de trace généré par la collection, mais certaines piles peuvent ne pas être résolues. Pour plus d’informations, consultez Fournisseurs ETW CLR.
Exemples d’événements
Vous pouvez utiliser des exemples d’événements pour collecter des piles d’appels associées à l’exécution de threads. Ces événements sont collectés environ une fois par milliseconde pour les threads qui s’exécutent dans le processus actuel. Si vous désactivez la collection d’exemples d’événements, la taille de la trace collectée est réduite, mais vous ne pouvez pas afficher les piles d’appels associées à l’exécution du thread.
Événements GPU
Les événements GPU sont des événements générés par DirectX. Si vous désactivez la collection d’événements GPU, la taille de la trace collectée est réduite, mais vous ne pouvez pas afficher d’activité GPU dans la vue Utilisation ou l’activité du moteur DirectX dans la vue Threads.
Événements d’E/S de fichier
Les événements d’E/S de fichier représentent les accès au disque pour le compte du processus actuel. Si vous désactivez les événements d’E/S de fichier, la taille de la trace est réduite, mais la vue Threads ne signale aucune information sur les canaux de disque ou les opérations de disque.
Marqueurs
Sous l’onglet Marqueurs , vous pouvez configurer l’ensemble de fournisseurs ETW affichés en tant que marqueurs dans le visualiseur concurrentiel. Vous pouvez également filtrer la collection Marker en fonction du niveau d’importance et de la catégorie ETW. Si vous utilisez le Kit de développement logiciel (SDK) du visualiseur concurrentiel et que vous utilisez votre propre fournisseur de marqueurs, vous pouvez l’inscrire ici afin qu’il apparaisse dans la vue Threads.
Ajouter un nouveau fournisseur
Si votre code utilise le Kit de développement logiciel (SDK) du visualiseur concurrentiel ou génère des événements ETW qui suivent la EventSource convention, vous pouvez afficher ces événements dans le visualiseur concurrentiel en les inscrivant dans cette boîte de dialogue.
Dans le champ Nom , entrez un nom qui décrit les types d’événements générés par le fournisseur. Dans le champ GUID , entrez le GUID associé à ce fournisseur. (Un GUID est associé à chaque fournisseur ETW.)
Si vous le souhaitez, vous pouvez spécifier s’il faut filtrer les événements de ce fournisseur, en fonction de la catégorie ou du niveau d’importance. Vous pouvez utiliser le champ de catégorie pour filtrer en fonction des catégories du Kit de développement logiciel (SDK) du visualiseur concurrentiel. Pour ce faire, entrez une chaîne délimitée par des virgules de catégories ou de plages de catégories. Cela spécifie les catégories d’événements dans le fournisseur actuel à afficher. Si vous ajoutez un EventSource fournisseur, vous pouvez utiliser le champ de catégorie pour filtrer par mot clé ETW. Étant donné que le mot clé est un masque de bits, vous pouvez utiliser une chaîne délimitée par des virgules d’entiers afin de spécifier quels bits du masque sont définis. Par exemple, « 1,2 » définit les premiers et deuxième bits, ce qui se traduit par 6 en décimales.
Vous pouvez utiliser la liste au niveau de l’importance pour filtrer les événements qui ont une importance ou un niveau ETW inférieur à la valeur spécifiée.
Configurer un fournisseur existant
Pour modifier les paramètres associés à un fournisseur existant, sélectionnez-le dans la liste, puis choisissez le bouton Modifier le fournisseur . Vous pouvez modifier le nom, le GUID et les paramètres de filtrage.
Filtrer les données de balises des rapports du Visualiseur de Concurrence
Si vous ne souhaitez pas que les données d’un fournisseur particulier apparaissent dans des traces ultérieures, décochez la case en regard du fournisseur que vous souhaitez supprimer.
Fichiers
Sous l’onglet Fichiers , vous pouvez spécifier le répertoire sous lequel les fichiers de trace sont stockés chaque fois qu’une trace est collectée. Le visualiseur concurrentiel génère quatre fichiers pour chaque trace qu’il collecte :
Fichier de journal des événements en mode noyau (ETL) (.kernel.etl*)
Fichier journal de suivi des événements en mode utilisateur (.user.etl*)
Fichier de données de Concurrency Visualizer (.CVData*)
Fichier de trace du visualiseur concurrentiel (.CVTrace*)
Les deux fichiers ETL stockent les données de trace brutes, et les deux fichiers visualiseur concurrentiel stockent les données traitées. Les fichiers ETL bruts ne sont généralement pas utilisés après le traitement d’une trace. La sélection de la case à cocher Supprimer le journal des traces d’événements (ETL) après l’analyse réduit la quantité de données de trace stockées sur votre disque.