Opetusohjelma: Profilointitietojen analysointi
Tavoitteet
Voit analysoida Java-prosessin profiloinnista kerättyjä tietoja käyttämällä
profilointi- ja kirjausperspektiivin profilointi- ja kirjausnäkymiä seuraavasti:
- eniten aikaa kuluttavien objektien ja metodien tunnistukseen
- paljon muistia vaativien luokkien tunnistukseen
- ohjelman samanaikaisuuden mittaukseen
- muistivuotojen paikannukseen
- metodin jokaisen toteutuksen selaukseen ajan funktiona
- laajemman näkymän saantiin toteutustoiminnosta ajan funktiona
- käytössä olevien säikeiden tunnistukseen
- tunnistamaan, milloin säikeet ovat aktiivisia
- usein kutsuttujen metodien tunnistukseen
- siivouksen mittaukseen
- ohjelman eri toteutusvaiheiden tunnistukseen
- eri metodikutsujen tutkimiseen
- metodin kutsujan tutkimiseen.
Aikavaatimus
1 tunti
Alkutoimet
Ennen kuin aloitat tämän opetusohjelman, tee seuraavat toimet:
- Asenna Eclipse-ympäristö mukaan luettuna TPTP (Test and Performance Tools Platform) -ympäristö.
- Pidä esimerkkiohjelman profilointitiedosto (hcframe.jar) valmiina tuontia varten. Tiedoston pitäisi sijaita seuraavassa hakemistossa:
TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0
Kuvaus
Tässä opetusohjelmassa käytetään eri profilointi- ja kirjausnäkymiä esimerkkiohjelman PerformanceExample.class-luokan analysointiin. Esimerkkiohjelma avaa kaksi painiketta sisältävän kehyksen.
Toteutat seuraavat tehtävät:
- Profilointi- ja kirjausperspektiivin avaus työympäristössä
- PerformanceExample-luokan profilointi
- Profilointitietojen analysointi
Voit päivittää näkymät sovelluksen valvonnan aikana napsauttamalla Verestä näkymät -painiketta
.
Valitse vaihtoehdot Ikkuna-valikon vaihtoehdot Avaa perspektiivi > Muu > Profilointi ja kirjaus.
Voit profiloida PerformanceExample-luokan seuraavasti:
- Valitse avattava Profiili-luettelo
ja valitse vaihtoehto Profiili. Profiilin aloituksen valintaikkuna avautuu.
- Luo uusi määritys kaksoisnapsauttamalla Ulkoinen Java-sovellus -painiketta.
- Siirry päävälilehteen.
- Kirjoita Luokan nimi -kenttään org.eclipse.hyades.test.collection.framework.PerformanceExample.
- Lisää tämän luokan sisältävä JAR-tiedosto valitsemalla vaihtoehto Lisää JAR-tiedosto.
- Valitse vaihtoehto TPTP_install_dir\eclipse\plugins\org.eclipse.tptp.platform.collection.framework_4.0.0\hcframe.jar.
- Napsauta Avaa-painiketta. JAR-tiedosto lisätään.
- Napsauta Valvontaohjelma-välilehteä. Voit määrittää profilointiehdot tässä välilehdessä.
- Laajenna Valvontaohjelma-välilehdessä Java-profilointi-solmu, valitse vaihtoehto Perusmuistin analyysi ja valitse sen vieressä oleva valintaruutu. Toiminto lisää muistiin liittyvät tiedot niiden tietolajien luetteloon, joita tulee kerätä sovelluksesta.
- Valitse vaihtoehto Toteutuksen ajan analyysi ja valitse sen vieressä oleva valintaruutu.
Kun tämä vaihtoehto on valittuna, voit analysoida aikaan liittyviä tietoja tilastotietonäkymien avulla. Toteutuksen vuonäkymän ja metodin kutsunäkymän käyttö edellyttää toteutuksen graafisten tietojen keruuta. Koska tämän mallin tarkoituksena on johdattaa sinut kulkemaan kaikkien profilointinäkymien kautta, joihin sisältyvät Toteutuksen vuo- ja Metodin kutsu -näkymät, niin valittuasi vaihtoehdon Toteutuksen ajan analyysi napsauta Muokkaa asetuksia -painiketta ja valitse Näytä toteutuksen vuotietojen graafiset tiedot -vaihtoehto Muokkaa profilointiasetuksia -valintaikkunassa.
Valitse myös Kerää suodatinjoukon poisrajaamat rajaluokat -valintaruutu ja aseta Rajaluokan syvyys -kentän arvoksi 1. Napsauta Valmis-painiketta.
- Suodatinjoukon profiloinnin avulla on mahdollista määrittää analysoitavien tietojen alijoukko. Tämä on hyödyllistä, jos haluat suodattaa luokkia tai paketteja, jotka eivät sisälly analysoitaviin tietoihin.
Valitse Java-profilointi-tiedonkeräin ja napsauta Muokkaa asetuksia -painiketta, jolloin Suodatinjoukko-valintaikkuna avautuu. Lisää luokkia tai paketteja, joita varten haluat kerätä tietoja, valitsemalla Valitun suodatinjoukon sisältö -kohdan Lisää-painiketta.
Suodattimen lisäys -valintaikkuna avautuu.
- Voit profiloida tämän luokan kirjoittamalla Luokka-kenttään org.eclipse.hyades.test.collection.framework.*.
- Sisällytä vain tähän esimerkkiin liittyvät metodit määrittämällä Metodin nimi -kenttään *.
- Napsauta OK-painiketta. Suodatusperuste lisätään sisältöluetteloon.
- Voit jättää pois muita aiemmin luotuja luokkia suodatinten sisältöluettelosta napsauttamalla luokan Sääntö-sarakkeen Sisällytä-painikettaja muuttamalla sen arvoksi Älä sisällytä.
- Voit siirtyä Rajat-sivulle napsauttamalla Seuraava-painiketta. Tällä sivulla säädellään kerättävien tietojen määrää joko kuluneen ajan perusteella tai metodikutsujen määrän perusteella. Hyväksy oletusarvot. Napsauta Valmis-painiketta, niin ikkuna sulkeutuu ja tehdyt muutokset tulevat voimaan.
- Napsauta Kohde-välilehteä. ProfileProject ja oletusvalvontaohjelma ovat oletusprofilointiresursseja, ja niiden avulla voidaan tallentaa tämän profilointi-istunnon tietoja.
- Valitse vaihtoehto Profiili.
- Tarvittavat profilointiresurssit luodaan ja agentti sekä prosessi tulevat näkyviin Profiloinnin valvontaohjelma -näkymään.
- Ota valvontaohjelmien näkymät käyttöön valitsemalla vaihtoehto Hajautettu asettelu , kuten seuraavassa näyttökuvassa on esitetty. Vaihtoehdon avulla voit nähdä valvontaohjelman, joka ryhmittelee tiedot, sekä koneen, jossa työympäristöä ajetaan.

Toteutustoiminnon tarkastelu tietyllä aikavälillä
Voit tutkia sovelluksen toteutusta toteutuksen vuonnäkymän ja -taulukon avulla.
Koko ohjelman toteutus on esitetty tässä näkymässä graafisesti ja taulukkomuodossa. Toteutuksen vuonäkymässä aika on esitetty pystyakselilla. Toteutuksen vuotaulukko avautuu toteutuksen vuonäkymän alapuolelle, ja taulukossa on lueteltu kaikki säikeet sekä kunkin säikeen kutsumat metodit.
- Valitse Profiloinnin valvontaohjelma -näkymässä valvontaohjelma, napsauta hiiren kakkospainiketta ja avaa toteutuksen vuonäkymä valitsemalla vaihtoehdot Avaa seuraavan kohteen avulla > Toteutuksen vuo. Toteutuksen vuonäkymä avautuu.
- Voit tutkia tiettyä metodia valitsemalla metodin valitsemalla sitä. Kaikki sen kutsutut metodit korostetaan keltaisella. Korostetun alueen pituus pystysuunnassa ilmaisee metodin perusajan. Perusajan tarkka arvo näkyy tilarivillä.

Kun siirrät kohdistimen minkä tahansa näkymässä olevan objektin päälle, ikkunan alareunassa olevalla tilarivillä näkyvät kohteen tarkat tiedot.
- Ota kohdistin käyttöön Lähennä-työkalun
avulla, ja suurenna alue osoittamalla ja napsauttamalla sitä.
Huomautus: Voit päivittää näkymät sovelluksen valvonnan aikana napsauttamalla Verestä näkymät -painiketta
.
Käytössä olevien säikeiden tunnistus
Toteutuksen vuonäkymässä kukin säie sisältää toimintajaksoja, jotka tunnistetaan lukuisista metodien kutsuista. Symbolisessa esityksessä ensimmäinen kutsuttu metodi on raita ja metodit, joita metodi kutsuu järjestyksessä seuraavaksi, näkyvät muina raitoina ensimmäisen raidan oikealla puolella. Metodikutsujen järjestys etenee vasemmalta oikealle; säikeen käytössä olevat osat tunnistetaan tämän vasemmalta oikealle tapahtuvan etenemisen avulla.
Kun valitset koko metodikutsujen järjestystä kuvaavan osan, kyseisen järjestyksen toteutukseen kulunut perusaika näkyy tilarivillä. Jos haluat nähdä aktiivisen säikeen perusajan, selvitä seuraavan kahden ajan välinen ero:
- Tuo vastaava perusaika näkyviin tilariville osoittamalla valitun keltaisen alueen vaakasuuntaista yläviivaa.
- Osoita vastaavasti valitun keltaisen alueen (joka kattaa toteutusajan, kun metodin toteutusjärjestys on toiminnassa) alareunaa ja tarkastele siinä näkyvää perusaikaa.
Vihjeitä
- Jos kaavio on liian täynnä ja sitä on vaikea lukea, lähennä
tietoja täynnä oleva alue.
- Kun valitset metodin, kaikki sen kutsutut metodit korostetaan keltaisella.
- Voit vetää ja pudottaa näkymiä työtilaan ja tarvittaessa järjestää niitä samanaikaisesti.
- Kun osoitat kohdistimella, vastaava perusaika ilmestyy tilariville.
- Voit palauttaa näkymän alkutilaan napsauttamalla Koti-painiketta.
Usein kutsuttujen metodien tunnistus
Voit tunnistaa usein kutsutut metodit seuraavasti:
- Laajenna metodikutsujen sarja Lähennä-työkalun
avulla.
- Etsi valitulta alueelta samanvärisiä raitoja. Nämä raidat esittävät saman luokkailmentymän metodeja, joita on kutsuttu useita kertoja.
- Tarkista eriväristen raitojen (joista kukin esittää metodia) pituus. Mitä pidempi raita, sitä pidempi on kyseisen metodin toteutusaika.
Siivouksen mittaus
Tavallisesti on mahdotonta päätellä, onko objektin siivous toteutettu, tutkimalla tämän näkymän käyttäjäsäikeiden raitoja.
Toimi seuraavasti:
- Siivoussäie on oletusarvon mukaan piilotettu. Ota se käyttöön valitsemalla näkymän pikavalikosta vaihtoehdot Säikeet > Siivous.
- Tarkista tämän näkymän vasemmanpuoleisin sarake. Tämä sarake on varattu siivoussäiettä varten, ja sitä kutsutaan Siivoussäie-sarakkeeksi.
- Tarkista, onko Siivoussäie-sarakkeessa yksi ohut suorakulmio. Suorakulmio
sijaitsee luultavasti reilusti useimpien objektin metodikutsujen alapuolella. Tämä suorakulmio tulee näkyviin Siivoussäie-sarakkeeseen aina, kun objektin siivous on toteutettu.
Ohjelman toteutusvaiheiden tunnistus
Alustusvaiheen tunnistus
- Laajenna pääsäikeen yläreunassa olevien metodikutsujen sarja Lähennä-työkalun
avulla.
- Pane merkille metodit, jotka on merkitty tekstillä -init-.
- Valitse tällainen metodi napsauttamalla. Tilarivi päivittyy ilmaisemaan, että metodi avustaa
alustuksessa (arvojen määritys sovelluksessa käytettäville muuttujille).
Metodien analysointi metodin kutsunäkymän avulla
- Valitse profiloinnin valvontaohjelmasta joko valvontaohjelma tai agentti. Napsauta hiiren kakkospainiketta ja valitse vaihtoehdot Avaa seuraavan kohteen avulla > Toteutuksen vuo. Toteutuksen vuonäkymä avautuu.
- Valitse tutkittava metodi, napsauta hiiren kakkospainiketta ja valitse vaihtoehto Näytä metodin kutsu.
- Laajenna osa näytöstä Lähennä-työkalun
avulla.Raidat on värikoodattu luokan mukaan, ja ne on yhdistetty toisiinsa vaakaviivoin, jotka esittävät metodien kutsuja.
- Valitse metodi napsauttamalla sen nimeä.
- Varmista, että tarkastelet nykyisiä tietoja napsauttamalla Verestä näkymät -painiketta
.
- Huomaa rivi:

Tällä rivillä näkyy metodin nimi, jota seuraa n/m, jossa n on tällä hetkellä näkyvä kutsu kutsujen kokonaismäärästä m.
- Voit selata kaikkia valitun metodin kutsuja (tai valittuun objektiin lähetettyjä sanomia) napsauttamalla Edellinen-painiketta
ja Seuraava-painiketta
. Työkalurivin murtoluku muuttuu ja ilmaisee, mitä kutsua olet tarkastelemassa.
Metodin kutsujan etsintä
Voit selvittää metodin kutsujan jatkamalla metodin kutsunäkymässä seuraavasti:
- Saat metodin kutsujan näkyviin napsauttamalla Näytä kutsuja -painiketta
. Metodi tulee näkyviin, ja sen kutsuja näkyy metodin vasemmalla puolella.
- Jos haluat tarkastella metodin kutsujan tarkempia tietoja kutakin uutta tarkasteltavaa kutsua kohti, siirrä kohdistin näkymässä sen raidan päälle, joka esittää kutsujaa. Tilarivillä näkyvät kutsujan tiedot.
- Jos haluat nähdä metodin, jota valittu metodi kutsuu, napsauta Näytä kutsuttu metodi -painiketta
.
(C) Copyright IBM Corporation 2000, 2006.