Programmering

Profilopsætning ved hjælp af Eclipse Test and Performance Tools Platform (TPTP)

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.
    1. CGProf: Denne profileringsmulighed bruges til at identificere præstationsflaskehalse ved at nedbryde udførelsestiden på niveauet pr. Metode.
    2. HeapProf: Denne mulighed giver dig mulighed for at identificere indholdet af bunken ved at spore objektallokering og de-allokering i hele programmets levetid.
    3. 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.