Oversigt
Profilering er et vigtigt aspekt for programmører, da dette er den proces, hvor programmøren kan finde ud af høj hukommelsesforbrug, høj CPU-brug, problemer med netværkskonflikter osv.Der er forskellige profiler tilgængelige på markedet, og de fleste af disse er kommercielle versioner.Eclipse-fællesskabet har et projekt ved navn Testing and Performance Tools Platform (TPTP) til løsning af dette. Her diskuteres kun profilering aspekt af TPTP, men kapaciteten af TPTP er meget mere.TPTP
Denne funktion kan bruges til at profilere lokale Java-applikationer eller komplekse applikationer, der kører på flere værter og forskellige platforme.Dette er integreret med Eclipse, hvilket muliggør profilering af applikationer, der kører fra Eclipse.TPTP kan installeres via Eclipse Provisioning Manager eller manuelt downloade de krævede pakker af TPTP og placere den i plugins-biblioteket.Agentcontroller - Denne proces gør det muligt for klientapplikationer at starte andre applikationer lokalt eller eksternt og interagere med agentprocesser for at indsamle profileringsdata. Hvis TPTP skal bruges på java-applikationer lokalt, er denne standalone agent-controller ikke påkrævet, da TPTP er pakket med Agent Controller.De tre profileringsoperationer, der er implementeret.- CGProf: Denne profileringsmulighed bruges til at identificere præstationsflaskehalse ved at nedbryde udførelsestiden på niveauet pr. Metode.
- HeapProf: Denne mulighed giver dig mulighed for at identificere indholdet af bunken ved at spore objektallokering og de-allokering i hele programmets levetid.
- ThreadProf: Denne profileringsmulighed giver dig mulighed for at spore trådbrug gennem hele programmets levetid.
TPTP woks i Eclipse-profilering og logningsperspektiv.Analyse af udførelsestid
Dette aspekt af TPTP giver eksekveringstid for pakker, klasser og analysemetoder Dette er nyttigt ved at finde udførelsespunkter, der bruger mere tid end forventet, hvilket er potentielle flaskehalse. Terminologier
Basistid: Tid til at udføre indholdet af selve metoden eksklusive opkald til andre metoder. (I diagrammet har Base Time-feltet opsummeret alle opkald af denne metode)Gennemsnitlig basetid: Den gennemsnitlige tid, det tager en bestemt metode at gennemføre, undtagen tidspunktet for metodekald til andre metoder. (I diagrammet er dette basistiden divideret med antallet af opkald)Kumulativ tid: Tiden til at udføre indholdet af selve metoden inklusive opkald til andre metoder. Trin:
Vælg projektet, og vælg stien nævnt ovenfor.Vælg den profilkonfiguration, der skal udføres - Junit, Applet, Application eller Server Project.Vælg fanen Monitor og vælg 'Execution Time Analysis'.Klik på redigeringsindstillinger, og vælg 'Indsaml metode CPU-tidsinformation'. Hukommelsesanalyse
Dette aspekt af TPTP giver hukommelsesforbrug af pakker, klasser og metoder til analyse.Dette er nyttigt til at finde udførelsespunkter, der forbruger mere hukommelse end forventet, hvilket er potentielle tilfælde for hukommelseslækage. Terminologier
Liveforekomster: Antallet af forekomster af den bestemte klasse, der stadig lever i hukommelsen (er ikke blevet indsamlet skrald.)Aktiv størrelse: Det samlede antal bytes i bunken, som alle liveforekomster i øjeblikket bruger.Samlede forekomster: Det samlede antal forekomster af denne klasse, der er oprettet i løbet af JVM's levetid (inklusive affaldsindsamlede genstande).Total størrelse: Den samlede størrelse af alle forekomster af denne klasse, der er oprettet i løbet af JVM's levetid (inklusive genstande, der er indsamlet skrald).Gennemsnitsalder: Gennemsnitsalderen på et objekt, før det indsamles skrald. Trin:
Vælg projektet, og vælg stien nævnt ovenfor.Vælg den profilkonfiguration, der skal udføres - Junit, Applet, Application eller Server Project.Vælg fanen Monitor og vælg 'Memory Analysis'.Klik på redigeringsindstillinger, og vælg 'Spor objektallokeringssteder'. Trådanalyse
Dette aspekt af TPTP giver tråden påstand om pakker, klasser og analysemetoder.Dette er nyttigt til at finde de udførelsespunkter, hvor tråden venter på ressourcer, selv efter afslutningen af operationen. Trin:
Vælg projektet, og vælg stien nævnt ovenfor.Vælg den profilkonfiguration, der skal udføres - Junit, Applet, Application eller Server Project.Vælg fanen Monitor og vælg 'Trådanalyse'.Klik på redigeringsindstillinger, og vælg 'Contention Analysis'. Centrale punkter
Brugerdefinerede probesæt kan også indsættes for at profilere applikationen.Hukommelsesanalyse giver henvisninger til høj usædvanlig hukommelsesforbrug, som kunne være mulige kandidater til hukommelseslækage.Høje udførelsestider for klasser eller metoder er henvisninger til ydeevneproblemer, som kan finjusteres.Denne historie, "Profiling Setup using Eclipse Test and Performance Tools Platform (TPTP)" blev oprindeligt udgivet af JavaWorld.