JProfiler er en prisbelønt alt-i-ett Java profiler. Det er intuitivt GUI hjelper deg å finne flaskehalser, pin ned minnelekkasjer og løse tråder problemer.
Selv om JProfiler har en kraftig funksjon sett, er det en Java profiler som er svært enkel å bruke! JProfiler brukergrensesnitt gir en enhetlig syn på den profilerte søknaden og setter all den informasjonen du trenger rett på fingertuppene med sin intuitive hierarki av synspunkter.
Konfigurere din søknad om profilering
Når du starter opp JProfiler, er starten sentrum brakt opp. Her kan du administrere og starte profilering økter. For å konfigurere programmet for profilering, endres til "Ny session" og klikk på den nye sesjonen knappen. Angi den nødvendige informasjonen i dialogboksen session config som beskrevet nedenfor, og velg OK for å starte profilering. Det er alt som trengs. Oppmerksom på Hjelp-knappen som vises på alle JProfiler sin dialoger viser en kontekstsensitiv forklaring på alle funksjonene.
Mens oppsettsdialogen viser en rekke alternativer som du ikke vil gå glipp av etter å ha blitt kjent med JProfiler, skrive inn de grunnleggende opplysningene er egentlig veldig enkelt:
1. Skriv inn et navn for økten.
2. Skriv inn navnet på din viktigste klassen.
3. Skriv inn klassebanen.
4. Trykk OK.
Før profilering er faktisk startet, er dialogen profilering innstillinger vises der du kan velge fokus for profilering løp. Selv om profilering produserer en overhead når du kjører programmet, kan du minimere den ved å velge en innstilling hvor kun JProfiler registrerer informasjon som er interessant for deg.
Hvis du ønsker å finjustere profilerings innstillinger, bringer [Rediger] opp en dialogboks med alle tilgjengelige konfigurasjonsalternativene for profilering.
Observere klasser og disponeringer
For å finne ut hva som skjer på haugen når det gjelder objekter og klasser, slå til klassene skjermen. Det gir deg kontinuerlige oppdateringer og lar deg sette karakterer for å observere endringer over tid. For å se referanser, bevilgninger og objektdata for ditt valg, kan du ta et øyeblikksbilde ved å klikke på kameraet i JProfiler verktøylinje.
Hvis du ønsker å vite hvor objektene er tildelt, kan du gå til tildeling skjermen. Her kan du inspisere samtalen treet og finne ut hva metodekall ha forårsaket tildeling av en utvalgt klasse eller pakke. Akkurat som i tildeling skjermen, kan du vise disse dataene for live og søppel samles stedene.
En kumulert oversikt over hvilke metoder som er ansvarlig for bevilgninger er gitt ved tildeling hot spots vise. Hver hot spot kan utvides og logger ikke kan lages som fører til påkalling av hot spot vises. Du kan også markere gjeldende verdier og vise forskjellene i bevilgninger over tid.
Finn minnelekkasjer
JProfiler sin heap walker fungerer som en nettleser: det viser en gjeldende sett med objekter som kan endres ved å legge valgmåten med [Bruk valgt] -knappen. Du kan inspisere det aktuelle objektet satt i de fire visninger av haugen rullator.
I klassene visning, kan du velge en eller flere klasser og legge et utvalg trinn. Den nye objekt settet vil inneholde bare de utvalgte tilfeller. Dette er ofte det første du vil gjøre etter å ha tatt et øyeblikksbilde. Du kan utføre dette trinnet automatisk ved å påberope haugen walker fra klassene skjermen.
Den bevilgninger visning av heap walker viser fordelingen treet og tildeling hot spot over gjeldende objekt sett. Du kan legge til et utvalg skritt for en eller flere tildelings flekker eller hot spots. Den nye objektsettet vil da være begrenset til de valgte forekomstene.
Når du leter etter årsaken til en minnelekkasje, er referansevisningen den viktigste utsikten i JProfiler. Her kan du finne ut hvorfor et objekt er ikke søppel samles. Bruk "Show banen til GC root" funksjonen for å vise hvor JVM henger på til valgt eksempel.
Ikke bare er den heap walker ditt første stopp for å finne minnelekkasjer, gjør det også for en utmerket debugging anlegget. I datavisningen, kan du inspisere forekomster, arrays og klasser i det gjeldende objektet sett og navigere langs referanser. Det er mange situasjoner hvor vanlige debugging tilnærming vil mislykkes og JProfiler vil hjelpe deg å finne ut.
Zoom inn på ytelse flaskehalser
Kontrollere ytelse for programmet kan være drevet av kvaliteten på tjenesten begrensninger eller ved generell kvalitetssikring, JProfiler prosessor utsikt egner seg naturlig til begge tilnærminger.
For å ta opp CPU data, skifte til CPU og klikker på opptaksknappen i JProfiler verktøylinje. Den første visningen i CPU delen viser påkalling treet, kumulert for alle emner. For å finne prestasjonsrelaterte problemet flekker, bare følg de store prosenter når du åpner de tre noder. Dessuten kan de absolutte tider og antall besvergelser som vises for hver node hjelpe deg i å få en følelse for situasjonen. Når du blir kjent med JProfiler, kan det være lurt å tilpasse denne visningen slik at den passer dine personlige preferanser.
Påkalling treet er en top-down syn på metodekall av søknaden din. Dette synspunktet er mest nyttig når du opplever en faktisk ytelse flaskehals i programmet. Hvis du ønsker å forbedre den generelle ytelsen, kan en bottom-up syn være mer aktuelt.
Denne form for visning - kalt hot spots Visning - viser metodene der mesteparten av tiden er brukt. Ved å åpne disse nodene får du logger ikke kan lages som viser de ulike anrops stier sammen med prosenter av deres bidrag. Vær oppmerksom på at som standard, kaller metoden innen Java kjerne klasser ikke vises separat - hver av våre bibliotek samtaler behandlet som ugjennomsiktig. Du kan endre denne atferden ved å deaktivere de tilsvarende filtersett.
Metoden grafen kombinerer begge synspunkter. Innkommende og utgående metodekall presenteres på samme måte. For en rekke situasjoner, kan metoden grafen gi deg mer innsikt enn påkalling treet og hot spots visning. Den beste strategien er å bruke anrops og hot spots utsikt først, og bytt til metoden grafen for detaljert analyse.
Løs gjengerelaterte problemer
Tråder kan være svært vanskelig å feilsøke, spesielt hvis du ikke har tilstrekkelig informasjon om selve sekvensen og status av trådene i programmet. JProfiler sin tråd visninger gi deg akkurat denne kunnskapen.
Tråden historie visningen viser en kontinuerlig oppdatering av livliner av alle tråder på den horisontale aksen. Navnene på gjengene vises på den vertikale aksen i den rekkefølgen de ble laget. Hver farge betyr en annen tråd status. Orange betyr at tråden sov, grønne står for et kjørbart tråden mens rød vises hvis tråden ventet på en skjerm. Du kan zoome inn og ut til ønsket detaljnivå eller har tidsaksen passe størrelse på vinduet automatisk.
Hvis du er mer interessert i hva som skjer akkurat nå, er tråden monitor utsikt rett sted å se på. Her kan du sortere tråder, filter med hensyn til tråden status og se mer informasjon om hver tråd.
Skulle du noen gang har en fastlåst i søknaden, vil den fastlåste situasjonen deteksjon grafen hjelpe deg med å analysere de involverte tråder og låse situasjonen. Enkle vranglåser som den vist kan være utarbeidet for hånd fra de andre visningene, men for komplisert vranglås involverer et større antall tråder dette synet er uunnværlig.
Redusere generell monitor strid og debugging låse sekvenser krever en detaljert visning av gjeldende monitor bruk og en historie med alle skjermrelaterte hendelser. JProfiler har begge deler. Nedenfor ser du skjermbruk historie som viser en blokkering arrangement sammen med bunken spor av vente tråden.
Hold et øye med JVM
Overvåking kumulative parametere av den virtuelle maskinen kan være en svært fruktbar aktivitet, selv om alt ser ut til å bli bra. Måle og observere parametere som heap størrelse, objekt teller, lastet klasser og tråd tall kan peke til farlige trender og problematferd å se opp for. I sin VM telemetri visning delen, JProfiler har ulike telemetri kontroller som gir deg den informasjonen du trenger for å holde seg ett skritt foran.
Antallet objekter på haugen, delt i arrays og ikke-arrays. Dette er ditt første stopp hvis du mistenker en minnelekkasje. Alle objekter med live-referanser er inkludert, samt de som er unreferenced men garbage collector har ikke hatt en sjanse til å samle enda.
Søppelinnsamler aktivitet som viser frigjort og flyttet stedene. Hvis søknaden er juling heap overdrevet, vil dette dukke opp her. Flytting et stort antall objekter legger stor belastning på den virtuelle maskinen og kan føre til midlertidige fryser. Stort sett skjer dette når den virtuelle maskinen er forstørring haugen.
Antall tråder i den virtuelle maskin, delt i aktive og inaktive tråder. Dette er nyttig hvis du lager et stort antall tråder og trenger informasjon om endringer i deres totale antallet og hvor mange av dem faktisk kjøre
Hva er nytt i denne utgaven.
- Denne versjonen legger til støtte for Java 7 (class filer kompilert med -target 1,7), & quot; Kopier til utklippstavle & quot; knapper på detalj paneler for & quot; Fields & quot; og & quot;. Methods & quot ;, samt Quick for opcode dokumentasjon på bunnen av Bytecode skjermen
Kommentarer ikke funnet