Ismertető: Profilkészítési adatok elemzése

Témák

A Java folyamat profilkészítéséből összegyűjtött adatok elemzése a Profilkészítés és naplózás perspektíva Profilkészítés és naplózás nézeteinek használatával az alábbi módokon tehető meg:

Szükséges idő

1 óra

Kezdeti lépések

Ezen ismertető elkezdése előtt tegye a következőket:

  1. Telepítse az Eclipse környezetet a TPTP-vel együtt.
  2. A profilkészítési példafájl álljon készen (hcframe.jar) importálásra. A fájlnak az alábbi könyvtárban kell lennie:
    TPTP_telepítési_könyvtár\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0

Leírás

Ezen ismertetőben a PerformanceExample.class minta elemzésére különböző Profilkészítés és naplózás nézetek használatáról lesz szó. A minta egy két gombot tartalmazó keretet nyit meg.

Az alábbi feladatok kerülnek elvégzésre:

  1. A Profilkészítés és naplózás perspektíva megnyitása a munkaterületen
  2. A PerformanceExample osztály profilkészítése
  3. A profilkészítési információk elemzése

A nézetek alkalmazás megfigyelése közbeni frissítéséhez kattintson a Nézetek frissítése gombra gomb stilizált ikonnal.

A Profilkészítés és naplózás perspektíva megnyitása a munkaterületen

Az Ablak menüben kattintson a Perspektíva megnyitása > Egyéb > Profilkészítés és naplózás lehetőségre.

A PerformanceExample osztály profilkészítése

A PerformanceExample osztály profilkészítéséhez tegye a következőket:

  1. Kattintson a Profil legördülő menüre stilizált ikonnal rendelkező ikon és válassza ki a Profil lehetőséget. A Profilkészítés indítása párbeszédablak megjelenik.
  2. Kattintson duplán a Külső Java alkalmazás elemre új konfiguráció létrehozásához.
  3. Váltson át a lapra.
  4. Írja be az org.eclipse.hyades.test.collection.framework.PerformanceExample szöveget az Osztály neve mezőbe.
  5. Kattintson a Jar hozzáadása elemre az ezen osztályt tartalmazó jar fájl hozzáadásához.
  6. Válassza ki a TPTP_telepítési_könyvtár\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0\hcframe.jar fájl
  7. Kattintson a Megnyitás gombra. A jar fájl hozzáadásra kerül.
  8. Kattintson a Megfigyelés lapra. A profilkészítési feltételek adhatók meg ezen a lapon.
  9. A megfigyelés lapon bontsa ki a Java profilozás címkéjű csomópontot, majd válassza ki az Alap memóriaelemzés lehetőséget majd jelölje be a mellette levő jelölőnégyzetet. Ezzel a memóriához kapcsolódó információk hozzáadásra kerülnek az alkalmazásból összegyűjteni kívánt információk típusához.
  10. Válassza ki az Időelemzés végrehajtása elemet, majd jelölje be mellette a jelölőnégyzetet. Ezen lehetőség bejelölésével a statisztikai nézetek az idővel kapcsolatos információk elemzésére használhatók. A Végrehajtási folyam és a Metódushívás nézetek használatához össze kell gyűjteni a végrehajtás grafikus részleteit. Mivel ezen példa célja az összes nézet bemutatása, beleértve a Végrehajtási folyam és a Metódushívás nézetet is, a Végrehajtási időelemzés kiválasztása során kattintson a Beállítások szerkesztése elemre, a Profilozási beállítások szerkesztése párbeszédablakon válassza ki a Végrehajtási folyam grafikus részleteinek megjelenítése elemet. A Szűrők által kihagyott határosztályok gyűjtése jelölőnégyzetre is kattintson és a Határosztály mélysége elemhez állítson be 1 értéket. Kattintson a Befejezés gombra.
  11. A Szűrőbeállítás profilozása az elemezni kívánt információk részhalmazának megadását teszi lehetővé. Az elemezni kívánt elemek határán kívül eső osztályok vagy csomagok kiszűrésére használható.
    Válassza ki a Java profilozás adatgyűjtőt, majd kattintson a Beállítások szerkesztése elemre, a Szűrőbeállítás párbeszédablak megnyitásra kerül. A Kiválasztott szűrőbeállítás tartalma elem alatt kattintson a Hozzáadás gombra azon osztályok vagy csomagok hozzáadásához, amelyekhez adatokat kíván összegyűjteni. A Szűrő hozzáadása párbeszédablak megjelenik.
  12. Ezen osztály profilkészítéséhez írja be az org.eclipse.hyades.test.collection.framework.* szöveget az Osztály mezőbe.
  13. A Metódusnévhez adja meg a * helyettesítő karaktert, hogy csak a példához tartozó metódusok kerüljenek megadásra.
  14. Kattintson az OK gombra. A szűrőfeltétel hozzáadásra kerül a tartalomlistához.
  15. Más meglévő osztályok szűrőtartalom listából kizárásához kattintson a Beemelés elemre az osztály Szabály oszlopa alatt, és módosítsa Kizárás értékre.
  16. Kattintson a Tovább gombra a Korlátok oldalhoz. Ez az oldal az összegyűjtött adatok mennyiségét felügyeli az eltett idő vagy a metódushívások száma alapján. Fogadja el az alapértelmezést. A bezáráshoz és a váégrehajtott módosítások alkalmazásához kattintson a Befejezés gombra.
  17. Kattintson a Cél lapra. A ProfileProject és a Default Monitor az alapértelmezett profilkészítési erőforrások, amelyek ezen profilkészítési munkamenetből származó adatok tárolására használhatók.
  18. Kattintson a Profil lehetőségre.
  19. A szükséges profilkészítési erőforrások létrehozásra kerülnek és az ügynök és a folyamat megjelenik a Profilkészítés megfigyelő nézetben. 
  20. Az Elosztott elrendezés lehetőség kiválasztásával engedélyezze a megfigyelők megjelenítését, az alábbi képernyőfotón látható módon. Ez lehetővé teszi az adatok csoportosítását végző megfigyelő valamint a munkaterület futtatását végző gép megtekintését.

    Az erőforrások hierarchiáját megjelenítő Profilkészítés-figyelő és a legördülő menü az erőforrások megjelöléséhez, hogy rejtettek legyenek

A profilkészítési információk elemzése

Végrehajtási viselkedés megtekintése egy időtartam alatt

Az alkalmazás végrehajtása a Végrehajtási folyam nézet és táblázat segítségével megvizsgálható. Ezen nézet az egész program végrehajtását ábrázolja grafikusan és táblázatos formában. A Végrehajtási folyam nézetben az idő a függőleges tengelyen kerül megjelenítésre. A Végrehajtásai folyam táblázat a Végrehajtási folyam nézet alatt megnyitásra kerül, és megjeleníti a szálakat valamint a szálak által meghívott metódusokat.

  1. A Profilkészítés-figyelő nézetben válassza ki a kívánt megfigyelőt, kattintson rá a jobb egérgombbal, majd a Végrehajtási folyam nézet megnyitásához válassza ki a Megnyitás... > Végrehajtási folyam lehetőséget. A Végrehajtási folyam nézet megjelenik.
  2. Egy adott metódus megvizsgálásához kattintson a metódusra a kiválasztáshoz. Ekkor az összes meghívott metódusa sárga színnel kiemelésre kerül. A kiemelt terület függőleges hossza a metódus alapidejét jelzi. Az alapidő pontos értéke az állapotsoron kerül megjelenítésre.

    Végrehajtás folyam nézet két metódussal

    A nézetben a kurzor tetszőleges objektumra mozgatása részletes információkat jelenít meg az ablak aljában lévő állapotsoron.

  3. Használja a Nagyítás eszközt  gomb stilizált ikonnal a kurzor engedélyezéséhez, majd kattintson a terület kinagyításához. 

Megjegyzés: A nézetek alkalmazás megfigyelése közbeni frissítéséhez kattintson a Nézetek frissítése gombra gomb stilizált ikonnal.

Aktív szálak azonosítása

A Végrehajtási folyam nézetben minden szál a metódushívások bősége által mutatott aktivitások időtartamát tartalmazza. Szimbolikus ábrázolásban az első meghívott metódus egy csík, és az általa később meghívott metódusok tőle jobbra további csíkokként jelennek meg. A metódushívások sorrendje balról jobbra halad, a szál aktív részei ezen balról jobbra előrehaladás alapján kerülnek azonosításra.

A metódushívások sorozatát átfogó teljes szakasz kiválasztása esetén az ezen sorozat végrehajtása alatt eltelt alapidő az állapotsorban jelenik meg. Az aktív szál alapidejének megtekintéséhez számolja ki az alábbi idők közti különbséget:

  1. Vigye az egérkurzort a kiválasztott sárga színű terület vízszintes vonalának tetejéhez a megfelelő alapidő állapotsorban megjelenítéséhez.
  2. Hasonlóan vigye az egérkurzort a kiválasztott sárga színű terület alsó széléhez (ami a végrehajtás időtartamát tartalmazza a metódussorozat tevékenysége közben) és tekintse meg az alapidőt ezen pontban.

Tippek

Gyakran hívott metódusok azonosítása

Gyakran hívott metódusok azonosításához tegye a következőket:

  1. Használja a Nagyítás eszközt gomb stilizált ikonnal a metódushívások sorozatának kinagyításához.
  2. Keresse meg a kijelölt területen az azonos színű csíkokat. Ezen csíkok a többször meghívott, azonos osztálypéldányokhoz tartozó metódusokat jelzik.
  3. Ellenőrizze a különböző színű csíkok hosszát (mindegyikét, amely metódust jelöl). Minél hosszabb a csík, annál hosszabb a metódus végrehajtási ideje.

Szemétgyűjtés felmérése

Rendszerint ezen nézetben egy felhasználói szálban a csíkok megvizsgálásával nem lehetséges kideríteni, hogy a szemétgyűjtés egy objektum esetén megtörtént-e.

Tegye a következőket:

  1. A szemétgyűjtés szál alapértelmezés rejtve van. A nézet Kontextus menüje alatt lévő Szálak > GC lehetőség kiválasztásával engedélyezze.
  2. Ellenőrizze a bal oldali oszlopot ezen nézetben. Ezen oszlop a szemétgyűjtési szál számára van fenntartva és GC szál oszlop a neve.
  3. Ellenőrizze, hogy a GC szál oszlopban van-e egy vékony téglalap. A téglalap valószínűleg az objektumban történt legtöbb metódushívástól jóval lejjebb található. Ezen téglalap mindig megjelenik a GC szál oszlopban, amikor szemétgyűjtés történik egy oszlop számára.

Programvégrehajtás fázisainak azonosítása

Inicializálási fázis azonosítása

  1. Használja a Nagyítás eszközt gomb stilizált ikonnal a fő szál tetején lévő metódushívások sorozatának kinagyításához.
  2. Jegyezze fel az -init- jelöléssel megjelölt metódusokat.
  3. Kattintson az egyik ilyen metódusra a kiválasztáshoz. Az állapotsorban megjelenik, hogy ezen metódus az inicializálást (az alkalmazásban használt változókhoz érték hozzárendelését) segíti elő.

Metódusok elemzése a Metódushívás nézet használatával

  1. A Profilkészítés megfigyelőben válasszon egy megfigyelőt vagy egy ügynököt. Kattintson a jobb egérgombbal, majd válassza a Megnyitás... > Végrehajtási folyammal menüpontot. A Végrehajtási folyam nézet megjelenik.
  2. Válassza ki a megismerni kívánt metódust, kattintson a jobb egérgombbal, majd válassza a Metódushívások megjelenítése elemet.
  3. Használja a Nagyítás eszközt gomb stilizált ikonnal a megjelenítés egy részének kinagyításásához.   A csíkok színe az osztályoktól függ és a csíkok a metódushívásokat ábrázoló vízszintes vonalakkal kapcsolódnak össze.
  4. Válasszon ki egy metódust annak nevére kattintással. 
  5. Kattintson a Nézet frissítése gombra gomb stilizált ikonnal az éppen aktuális információk megtekintéséhez.
  6. Jegyezze meg az alábbi sort:
    állapotsor metódusnévvel és 1/1 számokkal

    Ezen sor a metódus nevét jeleníti meg, ezt követően pedig egy n/m értéket, ahol n a pillanatnyilag megjelenített hívás az összes (m) hívásból.
  7. Kattintson az Előző gomb stilizált ikonnal és Következő gomb stilizált ikonnal gombra a kiválasztott metódus összes hívása (vagy a kijelölt objektum összes üzenete) közti tallózáshoz. Az eszköztáron lévő törtszám az aktuálisan megjelenített hívást jelzi.

Metódus hívójának megkeresése

A metódus hívójának megtalálásához tegye a következőket a Metódushívás nézetben:

  1. A metódus hívójának megjelenítéséhez kattintson a Hívó megjelenítése gombra gomb stilizált ikonnal. A metódus a hívójától balra jelenik meg.
  2. Egy metódus minden egyes új, megjelenített hívása esetén a hívó további részleteinek megtekintéséhez húzza a kurzort a nézetben a hívót ábrázoló csík fölé. Az állapotsorban megjelennek a hívó információi.
  3. Egy kiválasztott metódus által meghívott metódus megtekintéséhez kattintson a Hívott metódus megjelenítése gombra gomb stilizált ikonnal