Paramètres avancés, boîte de dialogue (visualiseur concurrentiel)
À 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 a des onglets pour les symboles, uniquement mon code, la mise en mémoire tampon, le filtrage, les événements du CLR, les marquers, les fournisseurs, et les fichiers.
Symboles
Le visualiseur concurrentiel utilise les mêmes paramètres de symboles que le débogueur Visual Studio.Le visualiseur concurrentiel utilise les paramètres pour résoudre les piles d'appels qui sont associées aux données de performance.Lorsqu'il traite les trâces, le visualiseur concurrentiel accède aux serveurs de symboles spécifiés dans la page paramètres.Lorsque ces données sont accessibles via un réseau, le traitement de trace ralentit.Pour réduire la durée requise pour résoudre les symboles, vous pouvez mettre en cache les symboles localement.Si les symboles ont été téléchargés, Visual Studio les chargera depuis le cache local.
Uniquement mon code
Par défaut, uniquement mon code est un ensemble de fichiers .exe ou .dll qui sont associés à la solution actuelle dans Visual Studio.Le visualiseur concurrentiel évalue cet ensemble de fichiers lorsque vous utilisez la fonctionnalité uniquement mon code pour filtrer les piles des appels.Sur l'onglet uniquement mon code, vous pouvez ajouter des dossiers qui contiennent les fichiers .exe ou .dll aux emplacements que le visualiseur d'accès concurrentiel utilise pour uniquement mon code.
Les chemins d'accès des fichiers .exe ou .dll sont stockés dans le fichier de trace lorsque la trace est collectée.Modifier ce paramètre n'affecte pas les traces précédemment collectées.
Buffering
Le visualiseur concurrentiel utilise le suivi d'événements pour Windows (ETW) lorsqu'il collecte une trace.ETW utilise plusieurs mémoires tampons lorsqu'il stocke des événements.Les paramètres de mémoire tampon de la valeur par défaut ETW ne peuvent pas être optimales dans tous les cas, et dans certains cas, peut provoquer des problèmes tels que la perte d'événements.Vous pouvez utiliser l'onglet de mise en mémoire tampon pour configurer les paramètres de mémoire tampon ETW.Pour plus d'informations, consultez suivi d'événements et structure d'EVENT_TRACE_PROPERTIES.
Filter
Sous l'onglet de filtre, vous pouvez sélectionner l'ensemble d'événements que le visualiseur d'accès concurrentiel collecte.Sélectionnant un sous-ensemble d'événements limite les types de données qui s'affichent dans les rapports, réduit la taille de chaque trace, et réduit le temps nécessaire de traitement des traces.
Événements CLR
Les événements générés par le common langage runtime (CLR) permettent au visualiseur concurrentiel de résoudre les piles d'appels managées.Si vous désactivez la collecte d'événements du CLR, la taille de trace est réduite, mais certaines piles d'appels ne seront pas résolus.Par conséquent, certaines activité de thread de l'UC peuvent être incorrectement catégoriser.
Collecter les processus natifs
Par défaut, les événements du CLR sont collectés uniquement lorsqu'un processus managé est profilé car ils ne sont normalement pas nécessaires 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 du CLR pour un processus natif.Si tel est le cas, activez la case à cocher Collecter les processus natifs .
Désactiver les événements d'arrêt
Le CLR génère des événements de deux fournisseurs : runtime et rundown.Si vous souhaitez collecter des événements de runtime du CLR, mais souhaitez éviter de collecter des événements d'arrêt, activez la case à cocher Désactiver les événements d'arrêt .Cela réduit la taille du fichier de suivi qui est généré par la collection, mais certaines piles peuvent ne pas se résoudre.Pour plus d'informations, consultez Fournisseurs ETW du CLR.
Événement d'échantillon
Vous pouvez utiliser des événements d'échantillonnage pour collecter les piles d'appels qui sont associées à l'exécution de thread.Ces événements sont collectés approximativement une fois par milliseconde pour les threads qui s'exécutent dans le processus actuel.Si vous désactivez la collecte d'événements d'échantillon, la taille de la trace collectée est réduite, mais vous ne pouvez pas afficher les piles d'appels qui sont associées à l'exécution de thread.
Événements GPU
Les événements GPU sont des événements générés par DirectX.Si vous désactivez la collecte d'événements GPU, la taille de la trace collectée est réduite, mais vous ne pouvez afficher une activité de GPU dans la vue utilisation, ou activité du moteur DirectX dans la vue Threads.
Evénements d'E/S de fichier
Les événements d'E/S de fichier représentent des 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 signalera aucune information sur les canaux de disque ou des opérations de disque.
Markers
Sur l'onglet marqueurs, vous pouvez configurer l'ensemble des fournisseurs ETW affichés en tant que jetons dans le visualiseur d'accès concurrentiel.Vous pouvez également filtrer la collection de jeton selon le niveau d'importance et la catégorie ETW.Si vous utilisez Kit de développement logiciel (SDK) du visualiseur concurrentiel et utiliser votre propre fournisseur de jeton, vous pouvez l'inscrire ici afin qu'il apparaisse dans la vue Threads.
Ajouter un nouveau fournisseur
Si votre code utilise Kit de développement logiciel (SDK) du visualiseur concurrentiel ou génère les événements ETW qui respectent la convention EventSource , vous pouvez afficher ces événements dans le visualiseur concurrentiel en les stockant dans cette boîte de dialogue.
Dans le champ nom, entrez un nom qui décrit les types d'événements qui sont générés par le fournisseur.Dans le champ de GUID, entrez un GUID associé à ce fournisseur.(Un GUID est associé à chaque fournisseur ETW.)
Éventuellement, vous pouvez spécifier si vous souhaitez filtrer les événements de ce fournisseur, selon la catégorie ou le niveau d'importance.Vous pouvez utiliser le champ catégorie pour filtrer en fonction des catégories du kit de développement logiciel du visualiseur concurrentielPour ce faire, entrez une chaîne délimitée par des virgules des catégories ou des intervalles de catégories.Cela spécifie les catégories d'événements dans le fournisseur actuel à afficher.Si vous ajoutez un fournisseur EventSource , vous pouvez utiliser le champ 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'entier délimitée par des virgules pour spécifier quels bits dans le masque sont défini.Par exemple, "1,2" définit les premier et deuxième bits, et il traduit par 6 en décimale.
Vous pouvez utiliser la liste d'importance par niveau pour filtrer les événements qui ont une importance ou le niveau ETW est moindre que la valeur spécifiée.
Configurer un fournisseur existant
Pour modifier les configurations associées à un fournisseur existant, sélectionnez le dans la liste, puis choisissez le bouton Modifier le fournisseur .Vous pouvez modifier le nom, un GUID, et filtrer des paramètres.
Filtrer les données de jeton hors des états du visualiseur concurrentiel
Si vous ne souhaitez pas que des données pour un fournisseur particulier s'affiche dans les futures traçage, désactivez la case à cocher à coté du fournisseur que vous souhaitez supprimer.
Fichiers
Sous l'onglet Fichiers , vous pouvez spécifier le répertoire dans lequel les fichiers de traçage sont stockés chaque fois qu'une trace est collectés.Le visualiseur concurrentiel génère quatre fichiers pour chaque trace qu'il collecte :
Un fichier de suivi d'événements (ETL) en mode noyau (*.kernel.etl)
Un fichier journal de suivi d'événements de mode utilisateur (*.user.etl)
Un fichier de données du visualiseur concurrentiel (*.CVData)
Un fichier de suivi du visualiseur concurrentiel (*.CVTrace)
Les deux fichiers ETL stockent les données de trace brutes, et les deux fichiers du visualiseur concurrentiel stockent les données gérées.Les fichiers ETL bruts de ne sont généralement pas utilisés après qu'une trace soit traitée.Activant la case à cocher Supprimer les fichiers ETL (Event Trace Log) après l'analyse réduit la quantité de données de trace stockées sur votre disque.