Opplæring: Analysere profileringsdata

Mål

Analysere data som er samlet inn fra profileringen av en Java-prosess, ved å bruke visningene Profilering og Logging i perspektivet Logging på disse måtene:

Nødvendig tid

1 time

Før du begynner

Før du begynner med denne opplæringen, må du

  1. Installere Eclipse-plattformen, blant annet plattformen for test- og ytelsesverktøy (TPTP).
  2. Ha et eksempel på en profileringsfil (hcframe.jar) som er klar til å importeres. Filen bør være lagret i denne katalogen:
    TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0

Beskrivelse

I denne opplæringsdelen bruker du ulike profilerings- og loggingsvisninger til å analysere eksempelet PerformanceExample.class. Eksempelet åpner en ramme som inneholder to knapper.

Du kommer til å fullføre disse oppgavene:

  1. Åpne perspektivet Profilering og logging fra arbeidsbenken
  2. Profilere klassen PerformanceExample
  3. Analysere profileringsinformasjonen

Du kan oppdatere visningene mens applikasjonen overvåkes, ved å klikke på knappen Oppdater visninger  En knapp med stilisert ikon .

Åpne perspektivet Profilering og logging fra arbeidsbenken

Klikk på Åpne perspektiv> Annet > Profilering og logging i menyen Vindu .

Profilere klassen PerformanceExample

Slik profilerer du klassen PerformanceExample:

  1. Klikk på rullegardinmenyen Profiler  En knapp med stilisert ikon og velg Profiler. En dialogboks blir åpnet.
  2. Dobbeltklikk på Ekstern Java-applikasjon for å opprette en ny konfigurasjon.
  3. Bytt til flippen Hoved.
  4. Skriv org.eclipse.hyades.test.collection.framework.PerformanceExample i feltet Klassenavn.
  5. Klikk på Legg til Jar for å legge til jar-filen som inneholder denne klassen.
  6. Velg TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0\hcframe.jar
  7. Klikk på Åpne. Jar-filen blir lagt til.
  8. Klikk på flippen Overvåker. Du kan oppgi profileringskriteriene på denne flippen.
  9. På flippen Overvåker utvider du noden Java-profilering, velger Grunnleggende minneanalyse og merker av i avmerkingsboksen ved siden av. Dette legger til minnerelatert informasjon i listen over informasjonstyper som bør samles inn fra applikasjonen.
  10. Velg Analyse av utføringstid og merk av i boksen ved siden av. Når dette alternativet er valgt, kan du bruke statistikkvisningene til å analysere tidsrelatert informasjon Du må samle inn grafiske detaljer for utføringsflyt for å kunne bruke visningene Utføringsflyt og Metodeaktivering. Fordi formålet med dette eksempelet er å veilede deg gjennom alle profileringsvisningene, samt visningene Utføringsflyt og Metodeaktivering, velger du Analyse av utføringstid, klikker på Rediger alternativer og velger Vis grafiske detaljer for utføringsflyt i dialogboksen Rediger profileringsalternativer. Klikk også på avmerkingsboksen Samle inn Boundary-klasser som ekskluderes av filtersettet og sett Dybde for Boundary-klasse til 1. Klikk deretter på Fullfør.
  11. Med profileringsfilersett kan du oppgi delsettet av informasjon som du vil analysere. Dette er nyttig hvis du vil filtrere ut klasser eller pakker som befinner seg utenfor området du vil analysere.
    Velg datainnsamleren Java-profilering og klikk på Rediger alternativer. Dialogboksen Filtersett åpnes. Klikk på Legg til under Innhold i valgt filtersett, for å legge til klasser eller pakker som du vil samle inn data for. Dialogboksen Legg til filter blir åpnet.
  12. Du profilerer denne klassen ved å skrive org.eclipse.hyades.test.collection.framework.* for Class.
  13. Oppgi metodenavnet som *, for å inkludere bare metoder som er knyttet til dette eksempelet.
  14. Klikk på OK. Filtreringskriteriene blir lagt til på innholdslisten.
  15. Du kan ekskludere andre eksisterende klasser fra innholdslisten, ved å klikke på Inkluder under Regel-kolonnen for klassen, og endre den til Ekskluder.
  16. Klikk på Neste til siden Grenser. Denne siden styrer mengden data som skal samles inn, basert på medgått tid eller antallet metodeaktiveringer. Godta standardverdiene. Klikk på Fullfør for å lukke og ta i bruk endringene.
  17. Klikk på flippen Mål. ProfileProject og Default Monitor er standard profileringsressurser som kan brukes til å lagre data fra denne profileringssesjonen.
  18. Klikk på Profiler.
  19. De nødvendige profileringsressursene blir opprettet og agenten og prosessen blir vist i visningen Profileringsovervåker. 
  20. Aktiver visningen av overvåkere ved å velge Distribuert layout, som vist på det følgende skjermbildet. Du kan nå se overvåkeren som grupperer dataene dine, og maskinen som arbeidsbenken kjøres på.

    Profileringsovervåker som viser ressurshierarkiet og en rullegardinmeny for å kontrollere ressursene og skjule dem

Analysere profileringsinformasjonen

Vise utføringsgangen over en tidsperiode

Du kan undersøke utføringen av applikasjonen ved å bruke visningen Utføringsflyt og tabellen. Utføringen av et helt program blir vist grafisk og i et tabellformat i denne visningen. Tiden blir vist på den loddrette aksen. Utføringsflyttabellen blir åpnet under visningen Utføringsflyt, og viser hver tråd og metodene som blir kalt av hver tråd.

  1. I visningen Profileringsovervåker velger du din overvåker og høyreklikker på og velger Åpne i > Utføringsflyt for å åpne visningen Utføringsflyt. Visningen Utføringsflyt blir åpnet.
  2. Du undersøker en bestemt metode ved å klikke på den for å velge den. Alle tilhørende kalte metoder blir deretter uthevet i gult. Den loddrette lengden på det uthevede området er en angivelse av basistiden for metoden. Den nøyaktige verdien for basistiden blir vist på statuslinjen.

     Utføringsflyt-visning med to metoder

    Når du flytter markøren over et objekt i visningen, vises detaljert informasjon i statusfeltet nederst i vinduet.

  3. Bruk Zoom inn-verktøyet   En knapp med stilisert ikon for å aktivere markøren, og pek og klikk for å forstørre et område. 

Merk: Du kan oppdatere visningene mens applikasjonen overvåkes, ved å klikke på knappen Oppdater visninger  En knapp med stilisert ikon .

Identifisere aktive tråder

I visningen Utføringsflyt inneholder hver tråd perioder med aktivitet, som identifiseres av en mengde metodekall. I symbolsk fremstilling er den første kalte metoden en strek, og metodene som den deretter kaller opp, blir vist som andre streker til høyre for denne. Rekkefølgen av metodekall går seg fra venstre mot høyre, og de aktive delene av en tråd identifiseres ved hjelp av dette strekforløpet.

Når du velger hele seksjonen som inneholder sekvensen med metodekall, blir basistiden som er brukt for å utføre denne sekvensen, vist på statuslinjen. Hvis du vil se hvilken basistid tråden er aktiv for, må du finne differansen mellom disse tidene:

  1. Pek på den øverste vannrette linjen i det valgte gule området for å vise den tilsvarende basistiden på statuslinjen.
  2. Pek deretter på den nederste kanten i det valgte gule området (som dekker utføringsperioden når metodesekvensen er aktiv) og vis basistiden ved det punktet.

Tips

Identifisere ofte kalte metoder

Slik identifiserer du metoder som kalles ofte:

  1. Bruk zoomeverktøyet  En knapp med stilisert ikon for å forstørre en sekvens med metodekall.
  2. Se etter streker med samme farge i det valgte området. Disse strekene identifiserer metoder fra samme klasseforekomst, som er kalt flere ganger.
  3. Kontroller lengden på strekene av forskjellig farge (hver av dem representerer en metode). Jo lengre strek, jo mer utføringstid for metoden.

Måle innsamling av dataavfall

Normalt er det umulig å se at det er utført innsamling av dataavfall for et objekt ved å undersøke strekene i en brukertråd i denne visningen.

Gjør slik:

  1. Som standard er tråden for innsamling av dataavfall skjult. Aktiver den ved å velge Tråder > GChurtigmenyen for visningen.
  2. Se i kolonnen lengst til venstre i denne visningen. Denne kolonnen er reservert for tråden for innsamling av dataavfall, og den kalles GC-trådkolonnen.
  3. Se om det finnes et smalt rektangel i GC-trådkolonnen. Rektangelet finnes sannsynligvis et stykke nedenfor de fleste av metodekallene til objektet. Dette rektangelet blir vist i GC-trådkolonnen når det er utført innsamling av dataavfall for et objekt.

Identifisere ulike faser i programutføringen

Identifisere initialiseringsfasen

  1. Bruk zoomeverktøyet  En knapp med stilisert ikon for å forstørre sekvensen med metodekall øverst på hovedtråden.
  2. Merk deg metodene som er merket med -init-.
  3. Klikk for å velge en slik metode. Statuslinjen blir oppdatert for å vise at metoden hjelper til med initialiseringen (tildeling av verdier til variabler som brukes i applikasjonen).

Analysere metoder ved hjelp av visningen Metodeaktivering

  1. Velg enten en overvåker eller en agent i visningen Profileringsovervåker. Høyreklikk og velg Åpne i > Utføringsflyt. Visningen Utføringsflyt blir åpnet.
  2. Velg metoden du vil undersøke, høyreklikk og velg Vis metodeaktivering.
  3. Bruk zoomeverktøyet  En knapp med stilisert ikon for å forstørre en del av skjermbildet. Strekene er fargekodet etter klasse og er knyttet sammen med vannrette linjer som representerer metodekall.
  4. Velg en metode ved å klikke på navnet. 
  5. Klikk på knappen Oppdater visninger  En knapp med stilisert ikon for å være sikker på at du ser på oppdatert informasjon.
  6. Legg merke til denne linjen:
    Statuslinje som viser metodenavn og nummer 1/1

    Denne linjen viser navnet på metoden, etterfulgt av n/m, der n er aktiveringen som blir vist av det totale antallet m aktiveringer.
  7. Klikk på Forrige  En knapp med stilisert ikon og Neste  En knapp med stilisert ikon for å bla gjennom alle aktiveringene for den valgte metoden (eller hver melding til det valgte objektet). Brøken på verktøylinjen endres for å angi hvilken aktivering du ser på.

Finne kalleren av en metode

Når du skal finne kalleren av en metode, utfører du disse trinnene som leder videre til visningen Metodeaktivering:

  1. Du viser kalleren av en metode ved å klikke på knappen Vis kaller  En knapp med stilisert ikon. Metoden blir vist sammen med kalleren til venstre for den.
  2. Hvis du vil ha flere opplysninger om kalleren av en metode for hver nye aktivering du viser, setter du markøren på streken som representerer kalleren i visningen. Statuslinjen viser opplysninger om kalleren.
  3. Hvis du vil vise metoden som en valgt metode kaller, klikker du på knappen Vis kalt metode  En knapp med stilisert ikon