Oversikt
Profilering er et viktig aspekt for programmerere, da dette er prosessen der programmereren kan finne ut høyt minnebruk, høy CPU-bruk, problemer med nettverkskonflikter etc.Det er forskjellige profiler tilgjengelig i markedet, og de fleste av disse er kommersielle versjoner.Eclipse community har et prosjekt som heter Testing and Performance Tools Platform (TPTP) for å løse dette. Her er bare profileringsaspektet ved TPTP diskutert, men muligheten til TPTP er mye mer.TPTP
Denne funksjonen kan brukes til å profilere lokale Java-applikasjoner eller komplekse applikasjoner som kjører på flere verter og forskjellige plattformer.Dette er integrert med Eclipse, som tillater profilering av applikasjoner som kjører fra Eclipse.TPTP kan installeres via Eclipse Provisioning Manager eller manuelt laste ned de nødvendige pakkene med TPTP og plassere den i programtilleggskatalogen.Agentkontroller - Denne prosessen gjør det mulig for klientapplikasjoner å starte andre applikasjoner lokalt eller eksternt og samhandle med agentprosesser for å samle inn profileringsdata. Hvis TPTP skal brukes på java-applikasjoner lokalt, er ikke denne frittstående agentkontrolleren påkrevd, da TPTP leveres med Agent Controller.De tre profileringsoperasjonene som er implementert.- CGProf: Dette profileringsalternativet brukes til å identifisere ytelsesflaskehalser, ved å bryte ned utførelsestiden på per-metodenivå.
- HeapProf: Dette alternativet lar deg identifisere innholdet i haugen ved å spore objektallokering og de-allokering gjennom hele programmets levetid.
- ThreadProf: Dette profileringsalternativet lar deg spore trådbruk gjennom hele programmets levetid.
TPTP woks i profilering og loggningsperspektivet til formørkelse.Analyse av utførelsestid
Dette aspektet av TPTP gir gjennomføringstid for pakker, klasser og metoder for analyse Dette er nyttig når du finner utførelsespunktene som tar mer tid enn forventet, og som er potensielle ytelsesflaskehalser. Terminologier
Basetid: Tiden til å utføre innholdet i selve metoden, unntatt anrop til andre metoder. (I diagrammet har Base Time-feltet oppsummert alle samtaler av den metoden)Gjennomsnittlig basetid: Gjennomsnittlig tid det tok en bestemt metode å fullføre, unntatt tidspunktet for metodeanrop til andre metoder. (I diagrammet er dette basistiden delt på antall samtaler)Kumulativ tid: Tiden til å utføre innholdet i selve metoden, inkludert anrop til andre metoder. Fremgangsmåte:
Velg prosjektet og velg banen som er nevnt ovenfor.Velg profilkonfigurasjonen som skal gjøres - Junit, Applet, Application eller Server Project.Velg Monitor-fanen og velg 'Execution Time Analysis'.Klikk på redigeringsalternativene og velg ‘Samle metode CPU-tidsinformasjon’. Minneanalyse
Dette aspektet av TPTP gir minnebruk av pakker, klasser og analysemetoder.Dette er nyttig når du finner utførelsespunktene som bruker mer minne enn forventet, noe som er potensielle tilfeller for minnelekkasjer. Terminologier
Liveforekomster: Antall forekomster av den aktuelle klassen som fremdeles lever i minnet (har ikke blitt samlet inn søppel.)Aktiv størrelse: Totalt antall byte i bunken som alle liveforekomster for tiden bruker.Totale forekomster: Totalt antall forekomster av denne klassen som er opprettet i løpet av JVMs levetid (inkludert søppeloppsamlede gjenstander).Total størrelse: Den totale størrelsen på alle forekomster av denne klassen som er opprettet i løpet av JVMs levetid (inkludert søppeloppsamlede gjenstander).Gjennomsnittsalder: Gjennomsnittsalderen på et objekt før det blir samlet inn søppel. Fremgangsmåte:
Velg prosjektet og velg banen som er nevnt ovenfor.Velg profilkonfigurasjonen som skal gjøres - Junit, Applet, Application eller Server Project.Velg Monitor-fanen og velg ‘Memory Analysis’.Klikk på redigeringsalternativer og velg ‘Track Object Allocation Sites’. Trådanalyse
Dette aspektet av TPTP gir tråden påstand om pakker, klasser og metoder for analyse.Dette er nyttig for å finne utførelsespunktene der tråden venter på ressurser, selv etter at operasjonen er fullført. Fremgangsmåte:
Velg prosjektet og velg stien som er nevnt ovenfor.Velg profilkonfigurasjonen som skal gjøres - Junit, Applet, Application eller Server Project.Velg Monitor-fanen og velg ‘Thread Analysis’.Klikk på redigeringsalternativer og velg 'Contention Analysis'. Viktige punkter
Egendefinerte probesett kan også settes inn for å profilere applikasjonen.Minneanalyse gir tips til høy uvanlig minnebruk som kan være mulige kandidater for minnelekkasje.Høye utførelsestider for klasser eller metoder viser til ytelsesproblemer som kan finjusteres.Denne historien, "Profiling Setup using Eclipse Test and Performance Tools Platform (TPTP)" ble opprinnelig utgitt av JavaWorld.