Zelfstudie: profielgegevens analyseren

Doelen

De gegevens die zijn verzameld door het profileren van een Java-proces, op de volgende wijze analyseren met behulp van de views Profilering en vastleggen in logboeken van het perspectief Profilering en vastleggen in logboeken:

Benodigde tijd

1 uur

Voordat u begint

Voordat u begint met dit zelfstudieprogramma voert u de volgende handelingen uit:

  1. Eclipse-platform installeren, inclusief het Test en Performance Tools Platform (TPTP).
  2. Profileringsbestandvoorbeeld (hcframe.jar) voorbereiden zodat dit gereed is voor import. Het bestand moet in de volgende directory staan:
    TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0

Beschrijving

In dit zelfstudieprogramma gebruikt u de verschillende views Profilering en vastleggen in logboeken om het voorbeeld PerformanceExample.class te analyseren. In het voorbeeld wordt een kader geopend dat twee knoppen bevat.

U voltooit de volgende taken:

  1. Perspectief Profilering en vastleggen in logboeken openen in de workbench
  2. De klasse PerformanceExample profileren
  3. Profileringsgegevens analyseren

Voor het bijwerken van de views terwijl de toepassing wordt bewaakt, klikt u op de knop Views vernieuwen  Knop met gestileerd pictogram .

Perspectief Profilering en vastleggen in logboeken openen in de workbench

In het menu Venster klikt u op Perspectief openen > Overige > Profilering en vastleggen in logboeken.

De klasse PerformanceExample profileren

Om de klasse PerformanceExample te profileren, voert u de volgende handelingen uit:

  1. Klik op het vervolgkeuzemenu van het Profiel  Knop met gestileerd pictogram en kies Profiel. Het dialoogvenster Profiel starten wordt geopend.
  2. Dubbelklik op Externe Java-toepassing om een nieuwe configuratie te maken.
  3. Schakel over naar het tabblad Main.
  4. Typ org.eclipse.hyades.test.collection.framework.PerformanceExample in het veld Klassennaam.
  5. Klik op JAR toevoegen om een JAR toe te voegen waarin de klasse zich bevindt.
  6. Kies TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0\hcframe.jar
  7. Klik op Openen. Het JAR-bestand wordt toegevoegd.
  8. Klik op het tabblad Monitor. U kunt de criteria voor profilering in dit tabblad opgeven.
  9. Op de pagina Monitor vouwt u het knooppunt Java-profilering uit, kiest u Basisgeheugenanalyse en schakelt u het selectievakje ernaast in. Hiermee wordt aan het geheugen gerelateerde informatie toegevoegd aan de lijst met gegevenstypen die moeten worden verzameld uit de toepassing.
  10. Kies Analyse uitvoeringstijd en schakel het selectievakje ernaast in. Als deze optie is geselecteerd, kunt u de statistische views gebruiken voor het analyseren van gegevens die gerelateerd zijn aan tijd. Het is nodig dat u de grafische details van de uitvoering verzamelt, zodat u de views Uitvoeringsstroom en Methodeoproep kunt gebruiken. Omdat het doel van dit voorbeeld is om u door alle profileringsviews te leiden, inclusief de views Uitvoeringsstroom en Methodeoproep, klikt u als u Analyse uitvoeringstijd selecteert op Opties bewerken en selecteert u Grafische gegevens uitvoeringsstroom afbeelden in het dialoogvenster Profileringsopties bewerken. Klik ook op het selectievakje Grensklassen verzamelen die door de filterset zijn uitgesloten en stel Diepte grensklasse in op 1. Klik op Voltooien.
  11. Met de profileringsfilterset kunt u een subset van gegevens opgeven die u wilt analyseren. Dit is handig als u klassen of pakketten wilt uitfilteren die niet binnen de grenzen staan van wat u wilt analyseren.
    Selecteer het gegevensverzamelprogramma Java-profilering en klik op Opties bewerken. Het dialoogvenster Filterset wordt geopend. Onder Inhoud van geselecteerde filterset klikt u op Toevoegen om klassen of pakketten toe te voegen waarvan u de gegevens wilt verzamelen. Het dialoogvenster Filter toevoegen wordt geopend.
  12. Om deze klasse te profileren, typt u org.eclipse.hyades.test.collection.framework.* als Klasse.
  13. Geef de Methodenaam als * op om alleen methoden op te nemen die verwant zijn aan dit voorbeeld.
  14. Klik op OK. De filtercriteria worden toegevoegd aan de contentslijst.
  15. Om andere bestaande klassen uit de lijst met filtercontents uit te sluiten, klikt u op Opnemen onder de regelkolom voor de klasse en wijzigt deze in Uitsluiten.
  16. Klik op Volgende tot aan de pagina Limieten. Met deze pagina beheert u de hoeveelheid gegevens die wordt verzameld op basis van de verstreken tijd of op basis van het aantal methodeoproepen. Accepteer de standaardinstellingen. Klik op Voltooien om af te sluiten en de gemaakte wijzigingen toe te passen.
  17. Klik op het tabblad Bestemming. De standaard profileringsresources zijn Profielproject en Standaardmonitor en deze kunnen worden gebruikt voor het opslaan van de gegevens uit deze profileringssessie.
  18. Klik op Profiel.
  19. De vereiste profileringsresources worden gemaakt en de agent en het proces verschijnen in de profileringsmonitor.  
  20. Schakel het bekijken van de Monitors in door Gedistribueerde layout te selecteren, zoals afgebeeld in de volgende schermopname. Hiermee kunt u zowel de monitor die uw gegevens groepeert als de computer waarop u de workbench uitvoert, bekijken.

    Profileringsmonitor met hiėrarchie van resources en het vervolgkeuzemenu voor het selecteren van resources om deze te verbergen

Profileringsgegevens analyseren

Het uitvoeringsgedrag gedurende een bepaalde periode bekijken

U kunt de uitvoering van de toepassing bestuderen met behulp van de View en tabel van de uitvoeringsstroom. De uitvoering van het gehele programma wordt in de view grafisch en in de tabel in tabelindeling weergegeven. In de view Uitvoeringsstroom wordt de tijd afgebeeld op de verticale as. De tabel Uitvoeringsstroom wordt onder de view Uitvoeringsstroom geopend en bevat een lijst met elke thread en de methoden die door deze threads zijn aangeroepen.

  1. In de profileringsmonitor selecteert u de monitor, klikt met de rechtermuisknop en selecteert Openen met> Uitvoeringsstroom om de view Uitvoeringsstroom te openen. De view Uitvoeringsstroom wordt geopend.
  2. Als u een bepaalde methode wilt bekijken, klikt u op de methode om deze te selecteren. Alle aangeroepen methoden worden met geel geaccentueerd. De verticale lengte van het geaccentueerde gebied is een indicatie voor de basistijd van de methode. De precieze waarde van de basistijd wordt weergegeven op de statusregel.

    View Uitvoeringsstroom met twee methoden

    Als u de cursor boven een object in de view verplaatst, wordt gedetailleerde informatie afgebeeld in de statusbalk aan de onderkant van het venster.

  3. Gebruik de tool Inzoomen Knop met gestileerd pictogram om de cursor te activeren, wijs het gewenste gebied aan en klik om het te vergroten.  

Opmerking: Voor het bijwerken van de views terwijl de toepassing wordt bewaakt, klikt u op de knop Views vernieuwen  Knop met gestileerd pictogram.

Actieve threads aangeven

In de view Uitvoeringsstroom bevat iedere thread perioden met activiteit die worden aangegeven door een overvloed aan methodeaanroepen. In een symboolweergave is de eerste aangeroepen methode een streep en de daarna aangeroepen methoden verschijnen als andere strepen rechts hiervan. De volgorde van de methodeaanroepen vindt plaats van links naar rechts; de actieve onderdelen van de thread worden aangegeven door deze progressie van links naar rechts.

Als u de hele sectie met het overzicht van de reeks methodeaanroepen selecteert, wordt de basistijd die wordt gebruikt voor het uitvoeren van deze reeks weergegeven in de statusregel. Om de basistijd dat de thread actief is te weten te komen, hebt u het verschil nodig tussen de volgende tijden:

  1. Wijs naar de bovenste horizontale lijn van het geselecteerde gele gebied om de bijbehorende basistijd in de statusregel weer te geven.
  2. Wijs vervolgens op dezelfde wijze naar de onderkant van het geselecteerde gele gebied (dit dekt de periode van uitvoering waarin de methodereeks in actie is) en bekijk de basistijd op dit punt.

Tips

Frequent aangeroepen methoden identificeren

Voor het identificeren van frequent aangeroepen methoden gaat u als volgt te werk:

  1. Gebruik de tool voor in- en uitzoomen  Knop met gestileerd pictogram voor het vergroten van een reeks methodeaanroepen.
  2. Zoek naar strepen met dezelfde kleur binnen het geselecteerde gebied. Deze strepen geven de methoden aan van dezelfde klasse-instance die meerdere keren zijn aangeroepen.
  3. Controleer de lengte van de strepen met verschillende kleuren (elk vertegenwoordigt een methode). Hoe langer de streep is, hoe langer de uitvoeringstijd is van de betreffende methode.

Opschoning peilen

Gewoonlijk is het niet mogelijk te bepalen of opschoning heeft plaatsgevonden voor een object door de strepen te bekijken in een gebruikersthread in deze view.

Voer de volgende stappen uit:

  1. De opschoningsthread is standaard verborgen. Activeer de thread door middel van de selectie Threads > GC in het Voorgrondmenu van de view.
  2. Controleer de kolom uiterst links in deze view. Deze kolom is gereserveerd voor de opschoningsthread en heet de GC-thread.
  3. Controleer of er een enkele smalle rechthoek staat in de GC-threadkolom. De rechthoek staat waarschijnlijk ver onder de meeste methodeaanroepen op het object. Deze rechthoek verschijnt iedere keer in de GC-threadkolom wanneer opschoning voor een object heeft plaatsgevonden.

Fasen van de uitvoering van het programma aangeven

De initialisatiefase aangeven

  1. Gebruik de tool Inzoomen  Knop met gestileerd pictogram voor het vergroten van de reeks methodeaanroepen aan de bovenkant van de hoofdthread.
  2. Let op de methoden die zijn gemarkeerd met -init-.
  3. Klik hierop om een dergelijke methode te selecteren. De statusbalk wordt bijgewerkt om aan te geven dat de methode wordt gebruikt bij de initialisatie (voor het toewijzen van waarden aan variabelen die worden gebruikt in de toepassing).

Methoden analyseren met behulp van de view Methodeoproep

  1. Vanaf de Profileringsmonitor selecteert u een monitor of een agent. Klik met de rechtermuisknop en selecteer Openen met > Uitvoeringsstroom. De view Uitvoeringsstroom verschijnt.
  2. Selecteer de methode die u wilt bestuderen, klik met de rechtermuisknop en selecteer vervolgens Methodeoproep afbeelden.
  3. Gebruik de tool Inzoomen  Knop met gestileerd pictogram voor het vergroten van een gedeelte van de weergave.  De strepen zijn door middel van kleur gecodeerd voor de klasse en worden verbonden met elkaar door horizontale lijnen die de methodeaanroepen vertegenwoordigen.
  4. Selecteer een methode door te klikken op de betreffende naam.  
  5. Klik op Views vernieuwen  Knop met gestileerd pictogram om er zeker van te zijn dat u recente gegevens aan het bekijken bent.
  6. Let op de volgende regel:
    statusregel waarin de methodenaam en aantallen worden weergegeven

    In deze regel wordt de naam van de methode weergegeven, gevolgd door n/m, waarin n de oproep is die op dat moment wordt weergegeven uit een totaal van m oproepen voor de betreffende methode.
  7. Klik op Vorige  Knop met gestileerd pictogram of op Volgende  Knop met gestileerd pictogram om te bladeren door alle oproepen aan de geselecteerde methode (of door de berichten aan het geselecteerde object). De aanduiding op de werkbalk wordt aangepast aan het nummer van de aanroep die u bekijkt.

De oproeper van de methode zoeken

Om uit te vinden welk item een methode aanroept, volgt u deze stappen en gaat u verder in de view Methodeoproep:

  1. Om het aanroepende item van de methode te bekijken, klikt u op Aanroepend item afbeelden  Knop met gestileerd pictogram. De methode wordt afgebeeld met aan de linkerzijde de aanroepende code.
  2. Om per aanroep meer details te bekijken over de aanroepende code van de methode, plaatst u de cursor boven de lijn die in de view de aanroepende code voorstelt. De informatie over de aanroepende code wordt op de statusregel weergegeven.
  3. Om de methode te bekijken die is opgeroepen door de geselecteerde methode, klikt u op Aangeroepen methode afbeelden  Knop met gestileerd pictogram.