Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usando la finestra di dialogo Impostazioni avanzate nel visualizzatore di concorrenza, è possibile controllare la modalità di raccolta delle tracce. La finestra di dialogo include schede per i simboli, Just My Code, buffering, filtraggio, eventi CLR, segnalibri, provider e file.
Simboli
Il visualizzatore di concorrenza usa le stesse impostazioni dei simboli del debugger di Visual Studio. Il visualizzatore di concorrenza usa le impostazioni per risolvere gli stack di chiamate associati ai dati sulle prestazioni. Quando elabora le tracce, il visualizzatore di concorrenza accede ai server di simboli specificati nella pagina delle impostazioni. Quando si accede a questi dati tramite una rete, l'elaborazione della traccia rallenta. Per ridurre la quantità di tempo necessaria per risolvere i simboli, è possibile memorizzare nella cache i simboli in locale. Se i simboli sono stati scaricati, Visual Studio li caricherà dalla cache locale.
Solo il Mio Codice
Per impostazione predefinita, Just My Code è il set di . exe e . file dll associati alla soluzione corrente in Visual Studio. Il visualizzatore di concorrenza valuta questo set di file quando si usa la funzionalità Just My Code per filtrare gli stack di chiamate. Nella scheda Just My Code è possibile aggiungere directory che contengono . exe e . file dll nei percorsi usati dal visualizzatore di concorrenza per Just My Code.
I percorsi dei file .exe e .dll sono archiviati nel file di traccia quando la traccia viene raccolta. La modifica di questa impostazione non influisce sulle tracce raccolte in precedenza.
Buffer
Il visualizzatore di concorrenza usa Event Tracing for Windows (ETW) quando raccoglie una traccia. ETW usa vari buffer durante l'archiviazione degli eventi. Le impostazioni predefinite del buffer ETW potrebbero non essere ottimali in tutti i casi e, in alcuni casi, potrebbero causare problemi come gli eventi persi. È possibile usare la scheda Buffering per configurare le impostazioni del buffer ETW. Per altre informazioni, vedere Event Tracing e la struttura EVENT_TRACE_PROPERTIES.
Filter
Nella scheda Filtro è possibile selezionare il set di eventi raccolti dal visualizzatore di concorrenza. La selezione di un subset di eventi limita i tipi di dati visualizzati nei report, riduce le dimensioni di ogni traccia e riduce il tempo necessario per elaborare le tracce.
Eventi CLR
Gli eventi generati da Common Language Runtime (CLR) consentono al visualizzatore di concorrenza di risolvere gli stack di chiamate gestite. Se si disabilita la raccolta di eventi CLR, le dimensioni della traccia verranno ridotte, ma alcuni stack di chiamate non verranno risolti. Di conseguenza, alcune attività del thread CPU potrebbero essere categorizzate in modo non corretto.
Raccolta per i processi nativi
Per impostazione predefinita, gli eventi CLR vengono raccolti solo quando viene profilato un processo gestito perché normalmente non sono necessari per i processi nativi. In alcuni casi, ad esempio quando un processo nativo ospita CLR, potrebbe essere necessario raccogliere eventi CLR per un processo nativo. In questo caso, selezionare la casella di controllo Raccogli per processi nativi.
Disabilitare gli eventi di rundown
CLR genera eventi da due provider: runtime e rundown. Se desideri raccogliere eventi di runtime CLR ma vuoi evitare di raccogliere eventi di rundown, seleziona la casella Disabilita eventi di rundown. Ciò riduce le dimensioni del file di traccia generato dalla raccolta, ma alcuni stack potrebbero non essere risolti. Per altre informazioni, vedere Provider CLR ETW.
Eventi di esempio
È possibile usare eventi di esempio per raccogliere stack di chiamate associati all'esecuzione del thread. Questi eventi vengono raccolti circa una volta al millisecondo per i thread in esecuzione nel processo corrente. Se si disabilita la raccolta di eventi di esempio, la dimensione della traccia raccolta viene ridotta, ma non è possibile visualizzare gli stack di chiamate associati all'esecuzione del thread.
Eventi GPU
Gli eventi GPU sono eventi generati da DirectX. Se si disabilita la raccolta di eventi GPU, le dimensioni della traccia raccolta vengono ridotte, ma non è possibile visualizzare alcuna attività GPU nella visualizzazione Utilizzo o nell'attività del motore DirectX nella visualizzazione Thread.
Eventi di I/O dei file
Gli eventi di I/O dei file rappresentano gli accessi al disco per conto del processo corrente. Se si disabilitano gli eventi di I/O dei file, le dimensioni della traccia vengono ridotte, ma la visualizzazione Thread non invierà alcuna informazione sui canali del disco o sulle operazioni su disco.
Marcatori
Nella scheda Marcatori è possibile configurare il set di provider ETW visualizzati come marcatori nel visualizzatore di concorrenza. È anche possibile filtrare la raccolta marker in base al livello di importanza e alla categoria ETW. Se si usa l'SDK del visualizzatore di concorrenza e si usa il proprio provider di marcatori, è possibile registrarlo qui in modo che venga visualizzato nella visualizzazione Thread.
Aggiungere un nuovo provider
Se il codice usa l'SDK del visualizzatore di concorrenza o genera eventi ETW che seguono la EventSource convenzione, è possibile visualizzare questi eventi nel visualizzatore di concorrenza registrandoli in questa finestra di dialogo.
Nel campo Nome immettere un nome che descriva i tipi di eventi generati dal provider. Nel campo GUID immettere il GUID associato a questo provider. Un GUID è associato a ogni provider ETW.
Facoltativamente, è possibile specificare se escludere gli eventi da questo provider, in base alla categoria o al livello di importanza. È possibile usare il campo categoria per filtrare in base alle categorie SDK del visualizzatore di concorrenza. A tale scopo, immettere una stringa delimitata da virgole di categorie o intervalli di categorie. Specifica le categorie di eventi nel provider corrente da visualizzare. Se si aggiunge un EventSource provider, è possibile usare il campo categoria per filtrare in base alla parola chiave ETW. Poiché la parola chiave è una maschera di bit, è possibile utilizzare una stringa di interi delimitata da virgole per specificare quali bit nella maschera sono impostati. Ad esempio, "1,2" imposta il primo e il secondo bit e questo valore viene convertito in 6 in decimale.
È possibile usare l'elenco a livello di importanza per filtrare gli eventi con un livello di importanza o ETW minore del valore specificato.
Configurare un provider esistente
Per modificare le impostazioni associate a un provider esistente, selezionarlo nell'elenco e quindi scegliere il pulsante Modifica provider . È possibile modificare il nome, il GUID e le impostazioni di filtro.
Filtrare i dati del marcatore dai report del visualizzatore di concorrenza
Se non si desidera che i dati di un determinato provider vengano visualizzati nelle tracce future, deselezionare la casella di controllo accanto al provider che si desidera rimuovere.
File
Nella scheda File è possibile specificare la directory in cui vengono archiviati i file di traccia ogni volta che viene raccolta una traccia. Il visualizzatore di concorrenza genera quattro file per ogni traccia che raccoglie:
Un file del log di traccia eventi in modalità kernel (ETL).kernel.etl*)
Un file di log di traccia eventi in modalità utente (.user.etl*)
File di dati del visualizzatore di concorrenza (.CVData*)
Un file di traccia del visualizzatore di concorrenza (.CVTrace*)
I due file ETL archiviano i dati di traccia non elaborati e i due file del visualizzatore di concorrenza archiviano i dati elaborati. I file ETL non elaborati in genere non vengono usati dopo l'elaborazione di una traccia. Se si seleziona la casella di controllo Elimina file di log di traccia eventi (ETL) dopo l'analisi , si riduce la quantità di dati di traccia archiviati sul disco.