Øvelse: Analysér profileringsdata
Formål
At analysere de data, der opsamles fra profilering af en Java-proces, vha. oversigterne Profilering og logning i perspektivet Profilering og logning på følgende måder:
- Identificér objekter og metoder, der forbruger mest tid
- Identificér hukommelsesintensive klasser
- Mål programsamtidighed
- Find hukommelsesfejl
- Gennemse alle udførelser af en metode som en funktion af tiden
- Få et bedre overblik over udførelsesfunktionsmåden som en funktion af tiden
- Identificér aktive programdele
- Identificér, hvornår programdele er aktive
- Identificér ofte kaldte metoder
- Mål renovation
- Identificér forskellige faser i programudførelse
- Studér forskellige metodestarter
- Studér kalderen for en metode
Tidsforbrug
1 time
Inden du starter
Inden du starter på denne øvelse, skal du gøre følgende:
- Installér Eclipse-platformen, inklusive platformen for test- og ydeevneværktøjer (Test and Performance Tools Platform - TPTP).
- Gør eksempelfilen til profilering (hcframe.jar) klar til import. Filen findes i følgende bibliotek:
TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0
Beskrivelse
I denne øvelse skal du bruge forskellige oversigter i Profilering og logning til at analysere eksemplet PerformanceExample.class. Eksemplet åbner en ramme med to knapper.
Du skal udføre følgende opgaver:
- Åbn perspektivet Profilering og logning på arbejdsbænken
- Profilér PerformanceExample-klasse
- Analysér profileringsoplysningerne
Klik på knappen Opfrisk oversigter
for at opdatere oversigten, mens programmet overvåges.
Klik på Åbn perspektiv > Andet > Profilering og logning i menuen Vindue.
Udfør følgende for at profilere PerformanceExample-klassen:
- Klik på listen Profil
, og vælg Profil. Dialogboksen til profilstart åbnes.
- Dobbeltklik på Eksternt Java-program for at oprette en ny konfiguration.
- Skift til skillebladet Overordnet.
- Skriv org.eclipse.hyades.test.collection.framework.PerformanceExample i feltet Klassenavn.
- Klik på Tilføj Jar for at tilføje den jar-fil, der indeholder denne klasse.
- Vælg TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0\hcframe.jar
- Klik på Åbn. Jar-filen tilføjes.
- Klik på skillebladet Overvågning. Du kan angive profileringskriterierne på dette skilleblad.
- Udvid noden ved navn Java-profilering på skillebladet Overvågning, vælg Basishukommelsesanalyse, og markér afkrydsningsfeltet ved siden af. Herved tilføjes hukommelsesrelaterede oplysninger til listen over oplysningstyper, der skal opsamles fra programmet..
- Vælg Analyse af udførelsestid, og markér afkrydsningsfeltet ved siden af. Når du har valgt denne indstilling, kan du bruge statistikoversigterne til at analysere tidsrelaterede oplysninger. Du skal opsamle grafiske oplysninger om udførelse for at kunne bruge oversigterne Udførelsesflow og Metodekald. Da formålet med dette eksempel er at føre dig gennem alle profileringsoversigterne, inklusive oversigterne Udførelsesflow og Metodekald, skal du klikke på Redigér indstillinger, mens Analyse af udførelsestid er valgt, og vælge Vis grafiske oplysninger om udførelsesflow i dialogboksen Redigér profileringsindstillinger.
Klik også på afkrydsningsfeltet Opsaml grænseklasser, der er ekskluderet af det angivne filter, og indstil Dybde af grænseklasse til 1. Klik på Afslut.
- Et profileringsfiltersæt gør det muligt at angive den delmængde af oplysninger, der skal analyseres. Dette er nyttigt, hvis du vil bortfiltrere klasser eller pakker, der ikke svarer til det, du vil analysere.
Vælg dataindsamleren Java-profilering, og klik på Redigér indstillinger. Dialogboksen Filtersæt åbnes. Klik på Tilføj under Indhold af valgt filtersæt for at tilføje klasser eller pakker, du vil opsamle data for. Dialogboksen Tilføj filter åbnes.
- Skriv org.eclipse.hyades.test.collection.framework.* som Klasse for at profilere denne klasse.
- Angiv Metodenavn som * for kun at inkludere metoder med relation til dette eksempel.
- Klik på OK.
Filterkriteriet tilføjes til indholdslisten.
- Klik på Inkludér under kolonnen Regel for klassen, hvis du vil udelade andre eksisterende klasser fra filterindholdslisten, og ret værdien til Ekskludér.
- Klik på Næste for at gå til siden Grænser. Denne side styrer den mængde data, der opsamles, enten baseret på medgået tid eller på antallet af metodekald. Acceptér standardværdierne. Klik på Afslut for at aktivere ændringerne og lukke.
- Klik på skillebladet Destination. ProfileProject og Default Monitor er standardprofileringsressourcer, og de kan bruges til at gemme data fra denne profileringssession.
- Klik på Profil.
- De krævede profileringsressourcer oprettes, og agenten og processen vises i oversigten Profileringsovervågning.
- Aktivér visning af overvågningsprogrammer ved at vælge Distribueret layout som vist på følgende skærmbillede. Herved kan du se det overvågningsprogram, der grupperer dine data, samt den computer, som du udfører arbejdsbænken på.

Vis udførelsesfunktionsmåde over tidsperiode
Du kan undersøge udførelsen af programmet vha. oversigten og tabellen Udførelsesflow. Udførelsen af hele programmet er repræsenteret grafisk i denne oversigt samt i tabelformat. I oversigten Udførelsesflow vises tiden på den lodrette akse. Tabellen Udførelsesflow åbnes under oversigten Udførelsesflow og viser alle programdele og de metoder, de kalder.
- Markér overvågningsprogrammet i oversigten Profileringsovervågning, højreklik, og vælg Åbn med > Udførelsesflow for at åbne oversigten Udførelsesflow. Oversigten Udførelsesflow åbnes.
- Klik en bestemt metode for at undersøge den. Alle dens kaldte metoder fremhæves med gult. Den lodrette længde af det fremhævede område er en indikation af metodens basistid. Den nøjagtige værdi af basistiden vises på statuslinjen.

Hvis du flytter markøren hen på et objekt i oversigten, vises detaljerede oplysninger på statuslinjen nederst i vinduet.
- Brug værktøjet Zoom ind
til at aktivere markøren, og peg og klik for at forstørre området.
Bemærk: Klik på knappen Opfrisk oversigter
for at opdatere oversigten, mens programmet overvåges.
Identificér aktive programdele
I oversigten Udførelsesflow indeholder hver programdel perioder med aktivitet, der er identificeret af en hel masse metodekald. Den først kaldte metode er repræsenteret som en stribe, og metoder, som denne metode efterfølgende kalder, vises som andre striber til højre for metoden. Rækkefølgen af metodekald er fra venstre mod højre. De aktive dele af programdelen er identificeret af denne venstre mod højre-rækkefølge.
Nå du markerer hele det afsnit, der omgiver sekvensen af metodekald, vises den basistid, der er gået med at udføre sekvensen, på statuslinjen. Hvis du vil se den basistid, som programdelen er aktiv i, skal du finde forskellen mellem følgende tider:
- Peg på den øverste vandrette linje i det markerede gule område for at vise den tilsvarende basistid på statuslinjen.
- Peg også på den nederste kant af det markerede gule område (som dækker udførelsesperioden, når metodesekvensen er i funktion), og få vist basistiden på dette punkt.
Tip
- Hvis grafen er for overfyldt og svær at læse, kan du zoome ind
på det overfyldte område.
- Når du markerer en metode, fremhæves alle dens kaldte metoder med gult.
- Du kan trække og placere oversigterne på arbejdsbænken og arrangere dem samtidigt, hvis du vil.
- Når du peger med markøren, vises den tilsvarende basistid på statuslinjen.
- Hvis du vil nulstille visningen af oversigten, skal du klikke på knappen Home.
Identificér ofte kaldte metoder
Sådan identificerer du ofte kaldte metoder:
- Brug zoomværktøjet
til at forstørre en sekvens af metodekald.
- Søg efter striber med samme farve i det markerede område. Disse striber identificerer metoder fra samme klasseforekomst, der er kaldt flere gange.
- Kontrollér længden af striberne med forskellig farve (som hver især repræsenterer en metode). Jo længere striben er, desto længere er metodens udførelsestid.
Mål renovation
Normalt er det umuligt at se, at der er udført renovation for et objekt ved at undersøge striber i en brugerprogramdel i denne oversigt.
Udfør følgende trin:
- Programdelen Renovation er som standard skjult. Aktivér den ved at vælge Programdele > Renovation under menuen Kontekst for oversigten.
- Kontrollér kolonnen længst til venstre i denne oversigt. Denne kolonne er reserveret til renovationsprogramdelen.
- Kontrollér, om der er et enkelt, tyndt rektangel i kolonnen for renovationsprogramdelen. Rektanglet er sandsynligvis placeret et godt stykke nede i forhold til de fleste metodekald på objektet. Dette rektangel vises i kolonnen for renovationsprogramdelen, når der har fundet renovation sted for et objekt.
Identificér faser i programudførelse
Identificér initialiseringsfase
- Brug zoomværktøjet
til at forstørre sekvensen af metodekald øverst i hovedprogramdelen.
- Bemærk de metoder, der er markeret med -init-.
- Klik for at markere en sådan metode. Statuslinjen opdateres for at angive, at metoden hjælper med initialiseringen (tildeling af værdier til variabler bruges i programmet).
Analysér metoder vha. oversigten Metodestart
- Vælg enten et overvågningsprogram eller en agent i Profileringsovervågning. Højreklik, og vælg derefter Åbn med > Udførelsesflow. Oversigten Udførelsesflow vises.
- Markér den metode, du vil studere, højreklik, og vælg derefter Vis metodestart.
- Brug værktøjet Zoom ind
til at forstørre et afsnit af visningen. Striberne er farvekodet efter klasse og er forbundet af vandrette linjer, der repræsenterer metodekald.
- Vælg en metode ved at klikke på dens navn.
- Klik på knappen Opfrisk oversigter
for at sikre, at du ser de aktuelle oplysninger.
- Bemærk linjen:

Denne linje viser navnet på metoden, efterfulgt af n/m, hvor n er den aktuelt viste start ud af de i alt m starter.
- Klik på Forrige
og Næste
for at gennemse alle starter for den valgte metode (eller alle meddelelser om det valgte objekt). Den brøk, der vises på værktøjslinjen, ændres for at angive, hvilken start du får vist.
Søg efter kalderen for en metode
Udfør desuden følgende i oversigten Metodestart for at finde ud af, hvad der kalder en metode:
- Hvis du vil se kalderen for en metode, skal du klikke på knappen Vis kalder
. Metoden vises, og til venstre for metoden vises kalderen.
- For at få vist flere oplysninger om kalderen for hver ny start, du får vist, skal du placere markøren over den stribe, der repræsenterer kalderen i oversigten. Statuslinjen viser oplysninger om kalderen.
- Hvis du vil se den metode, som en markeret metode kalder, skal du klikke på knappen Vis kaldt metode
.
(C) Copyright IBM Corporation 2000, 2006.