Dela via


Dialogrutan Avancerade inställningar (Samtidighetsvisualiserare)

Med hjälp av dialogrutan Avancerade inställningar i Concurrency Visualizer kan du styra hur spårningar samlas in. Dialogrutan innehåller flikar för symboler, Just My Code, buffring, filtrering, CLR-händelser, markörer, providers och filer.

Symbols

Concurrency Visualizer använder samma symbolinställningar som Visual Studio-felsökningsprogrammet. Concurrency Visualizer använder inställningarna för att lösa anropsstackar som är associerade med prestandadata. När den bearbetar spårningar kommer Concurrency Visualizer åt de symbolservrar som anges på inställningssidan. När dessa data nås via ett nätverk går spårningsbearbetningen långsammare. För att minska den tid som krävs för att lösa symboler kan du cache symbolerna lokalt. Om symboler har laddats ned läser Visual Studio in dem från den lokala cachen.

Bara min kod

Som standard är Just My Code uppsättningen med . exe och . dll-filer som är associerade med den aktuella lösningen i Visual Studio. Concurrency Visualizer utvärderar den här uppsättningen filer när du använder funktionen Just My Code för att filtrera anropsstackar. På fliken Just My Code kan du lägga till kataloger som innehåller . exe och . dll-filer till de platser som Concurrency Visualizer använder för Just My Code.

Sökvägarna för .exe och .dll-filer lagras i spårningsfilen när spårningen samlas in. Att ändra den här inställningen påverkar inte tidigare insamlade spårningar.

Buffring

Concurrency Visualizer använder händelsespårning för Windows (ETW) när den samlar in en spårning. ETW använder olika buffertar när det lagrar händelser. Standardinställningarna för ETW-bufferten kanske inte är optimala i alla fall, och i vissa fall kan det orsaka problem som förlorade händelser. Du kan använda fliken Buffring för att konfigurera ETW-buffertinställningar. Mer information finns i Händelsespårning och EVENT_TRACE_PROPERTIES struktur.

Filter

På fliken Filter kan du välja den uppsättning händelser som Concurrency Visualizer samlar in. Om du väljer en delmängd av händelser begränsas de typer av data som visas i rapporterna, minskar storleken på varje spårning och minskar den tid som krävs för att bearbeta spårningar.

CLR-händelser

Händelser som genereras av CLR (Common Language Runtime) gör det möjligt för Concurrency Visualizer att lösa hanterade anropsstackar. Om du inaktiverar insamlingen av CLR-händelser minskas storleken på spårningen, men vissa anropsstackar kommer inte att kunna lösas. Därför kan en del CPU-trådaktivitet vara felaktigt kategoriserad.

Samla in för interna processer

Som standard samlas CLR-händelser endast in när en hanterad process profileras eftersom de normalt är onödiga för interna processer. I vissa fall (till exempel när en intern process är värd för CLR) kan du behöva samla in CLR-händelser för en intern process. Om så är fallet markerar du kryssrutan Samla in för inbyggda processer .

Inaktivera nedstängningshändelser

CLR genererar händelser från två leverantörer: körtid och nedgång. Om du vill samla in CLR-körningshändelser, men vill undvika att samla in nedkörda händelser, markerar du kryssrutan Inaktivera nedkörda händelser . Detta minskar storleken på den spårningsfil som genereras av insamlingen, men vissa stackar kanske inte löses upp. Mer information finns i CLR ETW-providers.

Exempelhändelser

Du kan använda exempelhändelser för att samla in anropsstackar som är associerade med trådens körning. Dessa händelser samlas in ungefär en gång per millisekunder för trådar som körs i den aktuella processen. Om du inaktiverar insamlingen av provhändelser minskas storleken på den insamlade spårningen, men du kan inte visa några anropsstackar som är associerade med trådexekvering.

GPU-händelser

GPU-händelser är händelser som genereras av DirectX. Om du inaktiverar samlingen av GPU-händelser minskas storleken på den insamlade spårningen, men du kan inte visa någon GPU-aktivitet i vyn Användning eller DirectX Engine-aktivitet i trådvyn.

Fil-I/O-händelser

Fil-I/O-händelser representerar åtkomst till disken för den aktuella processens räkning. Om du inaktiverar fil-I/O-händelser minskas spårningens storlek, men trådvyn rapporterar ingen information om diskkanaler eller diskåtgärder.

Markörer

På fliken Markörer kan du konfigurera uppsättningen ETW-providers som visas som markörer i Concurrency Visualizer. Du kan också filtrera markörsamlingen baserat på prioritetsnivå och ETW-kategori. Om du använder Concurrency Visualizer SDK och använder din egen markörprovider kan du registrera den här så att den visas i trådvyn.

Lägg till en ny leverantör

Om koden använder Concurrency Visualizer SDK eller genererar ETW-händelser som följer EventSource konventionen kan du visa dessa händelser i Concurrency Visualizer genom att registrera dem i den här dialogrutan.

I fältet Namn anger du ett namn som beskriver de typer av händelser som genereras av providern. I fältet GUID anger du det GUID som är associerat med den här providern. (Ett GUID är associerat med varje ETW-provider.)

Du kan också ange om du vill filtrera bort händelser från den här providern baserat på kategori- eller prioritetsnivå. Du kan använda kategorifältet för att filtrera baserat på SDK-kategorier för Concurrency Visualizer. Det gör du genom att ange en kommaavgränsad sträng med kategorier eller intervall av kategorier. Detta anger vilka kategorier av händelser i den aktuella providern som ska visas. Om du lägger till en EventSource provider kan du använda kategorifältet för att filtrera efter nyckelordet ETW. Eftersom nyckelordet är en bitmask kan du använda en kommaavgränsad sträng med heltal för att ange vilka bitar i masken som ska anges. Till exempel anger "1,2" den första och andra biten, och detta översätts till 6 i decimaltal.

Du kan använda listan på prioritetsnivå för att filtrera bort händelser som har en prioritet eller ETW-nivå som är mindre än det angivna värdet.

Konfigurera en befintlig provider

Om du vill redigera inställningar som är associerade med en befintlig provider väljer du den i listan och väljer sedan knappen Redigera provider . Du kan ändra inställningarna för namn, GUID och filtrering.

Filtrera markördata från Concurrency Visualizer-rapporter

Om du inte vill att data för en viss provider ska visas i framtida spårningar avmarkerar du kryssrutan bredvid den provider som du vill ta bort.

Filer

På fliken Filer kan du ange den katalog under vilken spårningsfiler lagras varje gång en spårning samlas in. Concurrency Visualizer genererar fyra filer för varje spårning som samlas in:

  • En ETL-fil (Event Trace Log) i kernelläge (.kernel.etl*)

  • En loggfil för händelsespårning i användarläge (.user.etl*)

  • En Concurrency Visualizer-datafil (.CVData*)

  • En spårningsfil för samtidighetsvisualiserare (.CVTrace*)

    De två ETL-filerna lagrar rå trace-data, och de två Concurrency Visualizer-filerna lagrar bearbetad data. Råa ETL-filer används vanligtvis inte när en spårning har bearbetats. Om du markerar kryssrutan Ta bort ETL-filer (Händelsespårningslogg) efter analys minskar mängden spårningsdata som lagras på disken.