Programmering

Profiloppsett ved hjelp av Eclipse Test and Performance Tools Platform (TPTP)

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.
    1. CGProf: Dette profileringsalternativet brukes til å identifisere ytelsesflaskehalser, ved å bryte ned utførelsestiden på per-metodenivå.
    2. HeapProf: Dette alternativet lar deg identifisere innholdet i haugen ved å spore objektallokering og de-allokering gjennom hele programmets levetid.
    3. 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.

    $config[zx-auto] not found$config[zx-overlay] not found