Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller information om rapporterna i vyn Trådar i Concurrency Visualizer.
Blockera tidsprofilrapport
Profilrapporterna tillhandahåller aggregerade blockeringstidsdata för anropsstackar som är specifika för varje blockeringskategori (till exempel "I/O" eller "Synkronisering"). Preemption-rapporten visar de processer som föregripit den aktuella processen tillsammans med antalet preemptionsinstanser. För att skapa den blockerande profilrapporten samlar verktyget in blockerande API-anrop och ackumulerar dem i ett träd med anropsstackar. Data som visas i dessa rapporter varierar beroende på det aktuella tidsintervallet, av dolda trådar och av följande två filter som kan användas:
Om Just My Code är markerat visas endast stackramar som har användarkod, plus en nivå under användarkoden.
Om brusreduceringsvärdet har angetts hoppar systemet över sorterade staplar som har lägre frekvens än den angivna.
Expandera alla anropsträdsposter för att hitta kodraden där blockeringstiden används. Om du vill hitta källraden för en post går du till snabbmenyn och väljer Visa källa. Om du vill hitta den kodrad som anropade den här väljer du Visa samtalswebbplatser på snabbmenyn. Om endast en samtalswebbplats är tillgänglig ansluter kommandot till den markerade kodraden för anropswebbplatsen. Om flera samtalswebbplatser är tillgängliga öppnar kommandot en dialogruta där du kan välja en post och sedan välja knappen Gå till källa för att hitta den markerade samtalswebbplatsen. Det är ofta mest användbart att visa källkod för anropswebbplatsen som har flest instanser, mest tid eller båda.
Blockera tidsrapportkolumner
I följande tabell visas kolumnerna för varje blockeringstidsrapport.
| Kolumnnamn | Description |
|---|---|
| Namn | Namnet på funktionen för varje nivå i anropsstacken. |
| Instanser | Antalet instanser av blockeringsanropet för den synliga tidsperioden. |
| Inkluderande blockeringstid | Den totala blockeringstiden som används för alla staplar som läggs samman till den här nivån i anropsstackträdet. Det inkluderande talet är summan av exklusiv blockeringstid för den här funktionen och exklusiv blockeringstid för alla underordnade noder. |
| Exklusiv blockeringstid | Den totala blockeringstid som inträffar när den här funktionen är på den lägsta nivån i anropsstacken. En unik post i anropsstack som har en hög exklusiv blockeringstid kan vara av intresse. |
| API/Väntkategori | Visas endast för funktioner på den lägsta nivån i anropsstacken. Om signaturen för blockeringsanropet identifieras anges namnet på det blockerande API:et. Om signaturen inte identifieras tillhandahålls den information som rapporteras av kerneln. |
| Detaljer | Fullständigt kvalificerat namn på funktionen. Detta inkluderar radantal när det är tillgängligt. |
Synchronization
Synkroniseringsrapporten visar de anrop som ansvarar för segment som blockerar synkroniseringen och de aggregerade blockeringstiderna för varje anropsstack. Mer information finns i Synkroniseringstid.
Sova
Vilolägesrapporten visar de anrop som orsakar blockeringstid som tillskrivs tiden använd i viloläge samt de aggregerade blockeringstiderna för varje anropsstack. Mer information finns i Vilotid.
I/O
I/O-rapporten visar de anrop som ansvarar för segment som blockerar I/O och de aggregerade blockeringstiderna för varje anropsstack. Mer information om detta finns i I/O-tid (trådvyn).
Minneshantering
Rapporten Minneshantering visar de anrop som ansvarar för segment som blockerar minneshanteringsåtgärder och de aggregerade blockeringstiderna för varje anropsstack. Mer information finns i Minneshanteringstid.
Preemption
I Preemption-rapporten anges de processer som avbryter den pågående processen, tillsammans med antal instanser. Du kan expandera varje process för att visa de specifika trådar som ersatte trådar i den aktuella processen och för att visa en uppdelning av preemptionsinstanser per tråd. Den här blockerande rapporten är mindre användbar än de andra eftersom preemption vanligtvis åläggs din process av operativsystemet, inte av ett problem i koden. Mer information finns i Preemption time.
Bearbetning av användargränssnitt
UI-bearbetningsrapporten visar de anrop som ansvarar för blockering av segment som blockerar bearbetningsblock för användargränssnittet och de aggregerade blockeringstiderna för varje anropsstack. Mer information finns i bearbetningstiden för användargränssnittet.
Diskåtgärdsrapport (trådvy)
Rapporten Diskåtgärder visar disk-I/O-åtgärder i diskkanalerna.
För varje diskåtkomst som sker för processen som profileras i det aktuella tidsfönstret rapporteras den här informationen:
Namn och PID för den process som utförde diskåtkomsten
ID:t för tråden som kom åt disken
Namnet på filen som öppnades
Antalet läsningar per fil
Antal lästa byte
Läsfördröjningen i millisekunder
Antalet skrivningar
Antalet skrivna byte
Skrivsvarstiden i millisekunder
Körningsprofilrapport
Körningsprofilrapporten är en traditionell provtagningsprofil. Exempel tas ungefär varje millisekunder under perioder när en tråd körs på en logisk kärna, och Concurrency Visualizer skapar ett typiskt anropsträd genom att sortera den ackumulerade uppsättningen med exempelstackar. Data i den här tabellen kan påverkas av det aktuella tidsintervallet och dolda trådar, och av dessa filter som kan tillämpas:
Om Just My Code har valts visas endast stackramar som har användarkod, plus en nivå under användarkoden.
Om värdet brusreducering har angetts filtreras sorterade staplar som har mindre än den angivna frekvensen bort från rapporten
I följande tabell visas kolumner i rapporten.
| Kolumn | Description |
|---|---|
| Namn | Namnet på funktionen för varje nivå i anropsstacken. |
| Inkluderande exempel | Totalt antal prover som samlas in för alla stackar som leder upp till den här nivån i anropsstacksträdet. Det inkluderande talet är summan av exklusiva prover för den här funktionen och inkluderande räknare för alla dess underordnade noder. |
| Exklusiva exempel | Totalt antal insamlade exempel för vilka den här funktionen är den lägsta nivån i anropsstacken. |
| % inkluderande | Procentandelen av det totala antalet exempel som visas i kolumnen med inkluderingsexempel. Procenttal avrundas till två decimaler. |
| % Exklusivt | Procentandelen av det totala antalet prover som visas i kolumnen med exklusiva exempel. Procenttal avrundas till två decimaler. |
| Detaljer | Fullständigt kvalificerat namn på funktionen. Detta inkluderar radantal när det är tillgängligt. |
Den här rapporttabellen visas i vyn Körningstid (trådvy).
Markörrapport
Markörers rapport listar markörer för den valda tidsramen. Panorering eller zoomning, eller dölja körfält, kan orsaka att markörer visas eller försvinner. Rapporten innehåller den här informationen om varje markör:
Tiden då det började, i förhållande till början av spårningen.
Dess varaktighet. Varaktigheten är noll för flaggor och meddelanden eftersom de representerar ett ögonblick.
ID:t för tråden som genererade den.
ETW-providern (Event Tracking for Windows) som genererade det.
Markörserien som den skrevs från.
Kategorin för händelser som den tillhör.
Dess prioritetsnivå.
Dess typ (span, flagga eller meddelande).
En beskrivning på hög nivå av vad den representerar
Välj knappen Exportera för att spara markörrapporten som en CSV-fil. Du kan använda data i CSV-filen med andra appar eller verktyg.
Anmärkning
Markörrapporten kan visa 1 000 markörer. Om du vill se alla markörer exporterar du den fullständiga rapporten till en CSV-fil.
Sammanfattningsrapport per tråd
Det här stapeldiagrammet visar hur stor del av tiden varje icke-dold tråd spenderar i varje aktivitetskategori under den aktuella tidsperioden. "Körning" innebär att tråden körs; alla andra kategorier innebär att tråden väntar på något.