A szálak megtekintik a jelentéseket az Egyidejűség-vizualizációban

Ez a cikk a Concurrency Visualizer Szálak nézetében található jelentésekről nyújt tájékoztatást.

Blokkolási időprofil-jelentés

A profiljelentések összesített blokkolási időadatokat biztosítanak az egyes blokkolási kategóriákhoz (például "I/O" vagy "Szinkronizálás") tartozó hívásveremekhez. A preempciós jelentés felsorolja azokat a folyamatokat, amelyek megszakították az aktuális folyamatot, és ezek előfordulásának számát is feltünteti. A blokkoló profil jelentésének létrehozásához az eszköz összegyűjti a blokkoló API-hívásokat, és a hívásveremek fájába gyűjti őket. Az ezekben a jelentésekben megjelenített adatok az aktuális időtartománytól, a rejtett szálaktól és az alábbi két szűrőtől függően változnak:

  • Ha a Csak saját kód beállítás van kiválasztva, csak a felhasználói kóddal rendelkező veremkeretek jelennek meg, valamint egy szint a felhasználói kódréteg alatt.

  • Ha a zajcsökkentési érték be van állítva, a rendszer kihagyja azokat a csoportosított halmokat, amelyek kisebbek a megadott gyakoriságnál.

    Bontsa ki a hívásfa-bejegyzéseket annak a kódsornak a megkereséséhez, amelyben a blokkolási idő el van töltve. A bejegyzés forrásának megtekintéséhez válassza a helyi menüben a Forrás megtekintése lehetőséget. A jelenlegi kódsort meghívó kódsor megkereséséhez a helyi menüben válassza a Hívási helyek megtekintése lehetőséget. Ha csak egy hívási hely érhető el, a parancs a híváshely kiemelt kódsorához csatlakozik. Ha több híváswebhely is elérhető, a parancs megnyit egy párbeszédpanelt, amelyben kijelölhet egy bejegyzést, majd az Ugrás a forrásra gombra kattintva megkeresheti a kiemelt híváswebhelyet. A legtöbb példányt, legtöbb időt vagy mindkettőt tartalmazó híváswebhely forráskódjának megtekintése gyakran hasznos.

Időjelentés oszlopainak blokkolása

Az alábbi táblázat az egyes blokkolási időjelentések oszlopait mutatja be.

Oszlop név Description
Név A hívásverem egyes szintjeihez tartozó függvény neve.
Példányok A blokkoló hívás példányainak száma a látható időszakra vonatkozóan.
Összesítő blokkolási idő A hívásveremfa ezen szintjére összeadódó összes blokkolási idő az összes veremre vonatkozóan. Az összesített szám a függvény kizárólagos blokkolási idejének és az összes gyermekcsomópont kizárólagos blokkolási idejének az összege.
Kizárólagos blokkolási idő Az a teljes blokkolási idő, amely alatt ez a függvény a hívásverem legalacsonyabb szintje. Az egyedi hívásverembejegyzés, amely magas kizárólagos blokkolási idővel rendelkezik, érdekes függvény lehet.
API/Várakozás kategória Csak a hívásverem legalacsonyabb szintjén lévő függvények esetén jelenik meg. Ha a blokkoló hívás aláírása felismerhető, a blokkoló API neve meg lesz adva. Ha az aláírás nem ismerhető fel, a rendszer a kernel által jelentett információkat adja meg.
Részletek A függvény teljesen kvalifikált neve. Ez magában foglalja a sorok számát, ha elérhető.

Synchronization

A szinkronizálási jelentés azokat a hívásokat jeleníti meg, amelyek a szinkronizálást blokkoló szegmensekért felelősek, valamint az egyes hívásveremek összesített blokkolási idejét. További információ: Szinkronizálási idő.

Alszik

Az Alvó állapot jelentés az alvással töltött idő blokkolásáért felelős hívásokat, valamint az egyes hívásveremek összesített blokkolási idejét jeleníti meg. További információ: Alvási idő.

I/O

Az I/O-jelentés az I/O-n blokkoló szegmensekért felelős hívásokat, valamint az egyes hívásveremek összesített blokkolási idejét jeleníti meg. További információ: I/O idő (szálak nézete).

Memóriakezelés

A Memóriakezelési jelentés azokat a hívásokat jeleníti meg, amelyek a memóriakezelési műveletek blokkolásáért felelős szegmensekért felelősek, valamint az egyes hívásveremek összesített blokkolási idejét. További információ: Memóriakezelési idő.

Kisajátítás

A Preemption jelentés felsorolja a jelenlegi folyamatot megszakító folyamatokat az előfordulások számával együtt. Az egyes folyamatok kibontásával megtekintheti azokat a szálakat, amelyek helyettesítették az aktív folyamat szálait, valamint megtekintheti a szálankénti kiszorítások részletezését. Ez a blokkoló jelentés kevésbé használható, mint a többi, mivel a preempciót általában az operációs rendszer szabja meg a folyamatra, nem pedig a kódban lévő probléma. További információ: Preemption time.

Felhasználói felület feldolgozása

A felhasználói felület feldolgozási jelentése azokat a hívásokat jeleníti meg, amelyek a felhasználói felület feldolgozási blokkjait blokkoló szegmensek blokkolásáért felelősek, valamint az egyes hívásveremek összesített blokkolási idejét. További információkért lásd a felhasználói felület feldolgozási idejét.

Lemezműveleti jelentés (Szálnézet)

A Lemezműveleti jelentés a lemezcsatornák lemez I/O-műveleteit jeleníti meg.

Minden olyan lemezhozzáférés esetében, amely a jelenleg látható időablakban profilozott folyamat nevében történik, a rendszer a következő információkat jelenti:

  • A lemezhozzáférést végrehajtó folyamat neve és PID-címe

  • A lemezhez hozzáférő szál azonosítója

  • A megnyitott fájl neve

  • Az olvasások száma fájlonként

  • Az olvasási bájtok száma

  • Az olvasási késés ezredmásodpercben

  • Az írások száma

  • A megírt bájtok száma

  • Az írási késés ezredmásodpercben

Végrehajtási profil jelentése

A végrehajtási profil jelentése egy hagyományos mintavételezési profil. Körülbelül minden ezredmásodpercben vesznek mintát, amikor egy szál egy logikai magon fut, és a Concurrency Visualizer tipikus hívásfát hoz létre az összegyűjtött mintaveremek halmazából. A táblázat adataira hatással lehetnek az aktuális időtartomány és a rejtett szálak, valamint az alábbi szűrők, amelyek alkalmazhatók:

  • Ha a Csak saját kód beállítás van kiválasztva, csak a felhasználói kóddal rendelkező veremkeretek jelennek meg, valamint egy szinttel a felhasználói kód alatt.

  • Ha a zajcsökkentési érték be van állítva, a rendszer kiszűri a jelentésből azokat a csoportosított halmokat, amelyek kisebbek a megadott gyakoriságnál

    Az alábbi táblázat a jelentés oszlopait mutatja be.

oszlop Description
Név A hívásverem egyes szintjeihez tartozó függvény neve.
Mintavételi példák Az összes minta teljes száma, amelyet az összes halmazhoz gyűjtenek, amelyek a hívásveremfa ezen szintjére felgördülnek. Az összesített szám a függvény mintaelemeinek összege, valamint az összes gyermekcsomópont összesített számlálóinak összege.
Exkluzív minták Azon összegyűjtött minták teljes száma, amelyek esetében ez a függvény a hívásverem legalacsonyabb szintje.
% inkluzív A teljes minták százalékos aránya, amely a tartalmazott minták oszlopban látható. A százalékos értékek két tizedesjegyre vannak kerekítve.
% Exkluzív A kizárólagos minták oszlopban látható összes minta százalékos aránya. A százalékos értékek két tizedesjegyre vannak kerekítve.
Részletek A függvény teljesen kvalifikált neve. Ez magában foglalja a sorok számát, ha elérhető.

Ez a jelentéstábla a Végrehajtási idő (Szálak nézete) nevű nézetben tekinthető meg.

Jelölők jelentése

A Jelölők jelentése felsorolja a megjelenített időkeretben található jelölőket. A sávok pásztázása vagy nagyítása vagy elrejtése jelölők megjelenését vagy eltűnését okozhatja. A jelentés az egyes jelölőkkel kapcsolatos információkat tartalmazza:

  • Az idő, amikor elkezdődött, a nyom kezdetéhez képest.

  • Időtartam. Az időtartam nulla a jelölők és üzenetek esetében, mert azok egy pillanatot jelölnek.

  • Az azt létrehozó szál azonosítója.

  • Windows eseménykövetés (ETW) szolgáltató, amely létrehozta azt.

  • A jelölősorozat, amelyből létrehozták.

  • Az események kategóriája, amelyhez tartozik.

  • Fontossági szintje.

  • Típusa (span, flag vagy üzenet).

  • Az általa képviselt értékek magas szintű leírása

    Az Exportálás gombra kattintva CSV-fájlként mentheti a Jelölők jelentést. A CSV-fájlban lévő adatokat más alkalmazásokkal vagy eszközökkel is használhatja.

Megjegyzés:

A Jelölők jelentés 1000 jelölőt jeleníthet meg. Az összes jelölő megtekintéséhez exportálja a teljes jelentést egy CSV-fájlba.

Szálankénti összefoglaló jelentés

Ez a sávdiagram megmutatja, hogy az egyes nem rejtett szálak mennyi időt töltenek az egyes tevékenységi kategóriákban a jelenleg látható időtartományban. A "végrehajtás" azt jelenti, hogy a szál végrehajtás alatt áll; minden más kategória azt jelenti, hogy a szál vár valamire.