YourKit Java Profiler

Software skärmdump:
YourKit Java Profiler
Mjukvaruinformation:
Version: 2015 Build 15068 Uppdaterad
Ladda upp dagen: 27 Sep 15
Utvecklare: YourKit, LLC
Licens: Gratis
Popularitet: 103

Rating: 3.0/5 (Total Votes: 3)

YourKit Java Profiler är en kommersiell CPU och minne profiler programvara som gör det möjligt för användare att enkelt lösa brett spektrum av CPU och minne relaterade prestandaproblem.
YourKit Java Profiler har automatisk läcksökning, kraftfulla verktyg för analys av minnesfördelning, ett objekt heap webbläsare, omfattande minnestester som en del av JUnit testprocessen, extremt låg profilering overhead.

Vad är nya i den här versionen:

  • Agent: Windows-version upptäckt förbättras. I synnerhet är Windows 10 nu korrekt detekteras och sammanfattningen visar Windows-versionen med build-nummer.
  • IDE integration: buggen: NetBeans plugin kanske inte installeras på Windows 10
  • CPU profilering: CPU spåra resultat korrigering nu endast tillämpas om -Dyjp.apply.calibration = true anges i /bin/ui.ini
  • Minne profilering: optimering: förbättrad laddningstiden minnesbilder (i synnerhet, & quot; uppgift 3 & quot; pågående)
  • Minne profilering: optimering: Object Explorer och andra vyer öppna snabbare för vissa objekt set
  • Minne profilering: buggen: minnesläcka av tillfälliga datastrukturer som skapats under ögonblicks loading

Vad är nytt i version 2013 Build 13.072:

  • UI: buggen: sporadisk & quot; java. lang.ClassCastException & quot;
  • UI: dödläget detektor: buggen: möjlig & quot; dödläget detektor problem: status obalans & quot; undantag för vissa ingångar
  • Agent: buggen: IBM Java: & quot; java.lang.UnsatisfiedLinkError & quot; för alternativa metoder i com.ibm.oti.vm.VM

Vad är nytt i version 2013 Build 13.070:

  • Agent: Linux: buggen: felaktigt sessionsnamn valdes vid mycket lång kommandorad, t.ex. "java" i stället för huvudklassen eller JAR namn
  • Agent: buggen: startalternativ probe_on, probe_off, probe_auto, probe_disable inte acceptera kort syntax för inbyggda sönder, t.ex. .Databases För com.yourkit.probes.builtin.Databases
  • Agent: sonder, prestandaräknare: buggen: Fileoutputstream och process I / O händelser som inte har spelats in i vissa Java-versioner
  • IDE integration: NetBeans 8.0 Beta stöds
  • IDE integration: Mac OS X: buggen: Profiler UI skulle inte automatiskt ansluta till den profilerade processen på grund av Java 7: s JavaAppLauncher oförmåga att passera sina kommandoradsparametrar till java körbara

Vad är nytt i version 2013 Build 13.066:

  • CPU profilering:
  • Snapshot jämförelse: förbättring: slav visningar & quot; Tillbaka spår & quot ;, & quot; anropade listan & quot; och & quot; Sammanslagen anropade & quot; har lagts till för en metod valts i & quot; Metod listan & quot ;. De är särskilt användbara när man analyserar en metod som kallas från olika platser i ögonblicksbilder som jämförs.
  • J2EE hög nivå profilering bygger nu på inbyggda sond resultat.
  • Detta eliminerar overhead tidigare använda dedikerade återbesök, som delvis upprepade den inbyggda sond funktionalitet, samt utförda vissa operationer i runtime stället för att utföra dem när Profiler öppnas en ögonblicksbild.
  • Fastigheten high_level_cpu_profiling inte längre förekommer i CPU provtagning eller spårnings inställningar. Start alternativet disablej2ee har tagits bort. För att stänga J2EE hög nivå profilering av, ska du stänga av eller inaktivera motsvarande prober.
  • CPU spårning: en ny start alternativ _instrument_all_methods har lagts till instrument primitiva getter, normgivare och andra liknande korta metoder som endast tillgång objektfält och / eller returnera ett värde. Som standard, är sådana metoder inte instrumenterad för att minska overhead. Använd detta alternativ när anrops räknas för alla kallade metoder är mer värdefull än noggrannhet och lägre omkostnader.
  • UI: Lade till möjligheten att visa metoder som tog mindre än 1 ms genom att ange -Dyjp.show.shortest.methods = true i /bin/yjp.ini
  • Optimization: Hot Spots view öppnar mycket snabbare
  • UI: Lade till möjligheten att inaktivera noll-tidsmetod korrigering med hjälp av fastigheten -Dyjp.zero.time.methods = false i /bin/yjp.ini. Nolltidskorrigering innebär att några anrop till följande metoder ignoreras:
  • java.lang.Object: wait (*)
  • java.lang.Thread: sömn (*)
  • java.lang.Thread: avkastning (*)
  • java.net.PlainSocketImpl: socketAccept (*)
  • java.net.PlainSocketImpl: accepterar (*)
  • java.net.ServerSocket: acceptera ()
  • org.apache.tomcat.jni.Socket: accepterar (*)
  • sun.nio.ch.ServerSocketChannelImpl: accept0 (*)
  • sun.misc.Unsafe: park (*)
  • java.util.concurrent.locks.LockSupport: park * (*)
  • com.ibm.tools.attach.javaSE.IPC: waitSemaphore (*)
  • sun.nio.ch.EPollArrayWrapper: epollWait (*)
  • Tekniskt sett sin tid subtraheras från den tidpunkt som ringer upp till samtals trädrot när CPU profilering resultat lastas i UI. Med andra ord är deras tid alltid antas vara 0 när korrigeringen tillämpas.
  • Minne profilering:
  • Object Explorer: värden omedelbart visas för objekt i följande klasser:
  • java.util.Date
  • java.net.URL
  • java.io.File
  • java.util.zip.ZipFile
  • java.util.jar.JarFile
  • primitiva värde omslag:
  • java.lang.Integer
  • java.lang.Long
  • java.lang.Short
  • java.lang.Boolean
  • java.lang.Byte
  • java.lang.Character
  • java.lang.Double
  • java.lang.Float
  • atom värden:
  • java.util.concurrent.atomic.AtomicInteger
  • java.util.concurrent.atomic.AtomicLong
  • java.util.concurrent.atomic.AtomicBoolean
  • andra numeriska klasser:
  • java.math.BigDecimal
  • java.math.BigInteger
  • eftertanke:
  • java.lang.reflect.Field
  • java.lang.reflect.Constructor
  • java.lang.reflect.Method
  • (sedan bygga 13.062) insamling storlek för samling klasser och deras subklasser:
  • java.util.ArrayList
  • java.util.Arrays $ Arraylist (återvänt från Arrays.asList ())
  • java.util.HashMap
  • java.util.HashSet
  • java.util.Hashtable
  • java.util.IdentityHashMap
  • java.util.LinkedList
  • java.util.PriorityQueue
  • java.util.TreeMap
  • java.util.Vector
  • java.util.WeakHashMap
  • Object Explorer: själv refererar objekt uttryckligen anges med [Självreferens], och motsvarande trädnoder är blad nu för att undvika oändlig utvidgning
  • Object Explorer: Lade till möjligheten att anpassa det maximala antalet visas enskilda objekt med hjälp av fastigheten -Dyjp.max.objects.to.show = i /bin/yjp.ini. Standardvärdet är fortfarande 500. Anm. Inställning större värden ökar minnesanvändning och kan bromsa UI
  • Primitiva matriser med alla samma element uttryckligen anges i objekt explorer, vägar och andra vyer som presenterar individuella objekt
  • Analys av matriser med ett stort antal element har förenklats med hjälp av det nya handlingsprogrammet Memory | Visa Array element (Shift + F5) (även tillgängliga via en popupmeny) som öppnar alla delar av valda referens array (er) i en ny flik, där de kan uttömmande undersökas med alla tillgängliga vyer.
  • Denna åtgärd är också tillgängliga som & quot; Öppna alla element i en ny flik & quot; hyperlänk i objekt Explorer utöver & quot; Konfigurera visat uppsättningselementområde ... & quot; hyperlänk för uppsättningarna med dolda element.
  • Sammanslagna vägar: förbättring: separata noder används för GC rötter och föremål bevaras från flera objekt
  • Sammanslagna vägar: förbättring: & quot;

Vad är nytt i version 12.0.5:

  • Agenten loggfilen kunde inte skapas om sessionsnamn innehöll ogiltiga filnamns tecken.

Vad är nytt i version 12.0.4:

  • Denna fördelning inspelning versionen fixar urvalet, som kan krascha den profilerade ansökan om CPU provtagning aldrig hade börjat.
  • Den medföljande JRE har uppgraderats till Java 7.

Vad är nytt i version 12.0.3:

  • Stöd för FreeBSD 8 har förbättrats
  • Laddning av bilder med en stor mängd GC kraftigt optimerad.
  • Den här versionen löser vissa problem med JBoss, Glassfish och OSGi Felix.

Vad är nytt i version 12.0.1:

  • Nya plattformar som stöds:
  • Linux på ARM: kör profilerade program och / eller profiler UI stöds på soft-float (ARMv5, ARMv7) och hårt float (ARMv7) JVM
  • Linux på PPC: kör profilerade program och / eller profiler UI stöds på 32-bitars (PPC) och 64-bitars (ppc64) JVM
  • CPU profilering:
  • CPU spåra overhead har minskat betydligt (olika profilerade program körs upp till 10% -50% snabbare än med den tidigare profil version) och noggrannhet har ökat på grund av följande förbättringar:
  • nya adaptiva spårning läget minskar automatiskt spåra overhead och gör resultatet mer adekvat (se CPU spåra inställningar)
  • CPU spåra nu mäter vägg tid som standard (se CPU spåra inställningar och tidsmätning).
  • Detta minskar profilering overhead eftersom få väggtiden är snabbare än att få CPU-tid.
  • Wall tid är också mer exakt än CPU-tid, vilket ger ett par nanosekund noggrannhet vid mätning tidsintervall.
  • interna förbättringar minskade profilering overhead
  • Alla CPU profilering inställningar som används i runtime konfigureras i CPU provtagningsinställningar och CPU spåra inställningar
  • Observera tillhörande ändringar:
  • API: två nya Controller metoder har lagts till: startCPUTracing (Nullable String inställningar) och startCPUSampling (Nullable String inställningar). Metoder startCPUProfiling (...) har deprecated.
  • J2EE hög nivå profilering är nu inställd i CPU provtagningsinställningar och CPU spåra inställningar
  • startalternativ noj2ee har tagits bort till förmån för high_level_cpu_profiling egendom i CPU provtagningsinställningar och CPU spåra inställningar
  • startalternativ samplingperiod och samplingdelta har tagits bort till förmån för sampling_period_ms och sampling_period_delta_ms fastigheter i inställningarna CPU provtagning
  • tidmätning nu konfigureras i CPU provtagningsinställningar och CPU spåra inställningar. En separat konfigurationsfil .walltime och en särskild startalternativ walltimespec används inte längre.
  • startalternativ filter har tagits bort till förmån för CPU spåra inställningar
  • CPU spårning: väggtids metoder är inte längre underförstått behandlas som alltid ofiltrerat. Den tidigare beteende kan skapa oväntade overhead om vägg tidmätning var konfigurerad för många eller alla metoder.
  • Agent: tidmätning har förbättrats för att säkerställa monotoni vid behov
  • CPU provtagning: buggen: infödda metod omslag $$ YJP $$ kan förekomma i staplarna
  • Minne profilering:
  • UI: ny funktion: Klass trädvyn liknar & quot; Klass listan & quot ;, men visar klasser grupperade efter paket
  • UI: nya funktion: minnesvyer såsom klass lista tillåter val av flera rader. Detta påverkar slav ser innehåll, samt åtgärder som & quot; Visa valda objekt & quot; och andra.
  • & quot; Duplicate strängar & quot; inspektion: resultaten visas i en ny gruppering rotnod som presenterar den totala mängden avfall i alla dubbla strängar
  • Optimization: ögonblicksbilder med stora primitiva arrayer öppnas snabbare
  • UI: optimering: prestanda & quot; Inkommande Referenser & quot; view har förbättrats dramatiskt
  • UI: förbättrad beräkning av exakt behöll storlek i & quot; Klass listan & quot; och liknande åsikter: fler objekt behandlas per klick om beräkningshastigheten tillåter
  • UI: förbättring: tillgängliga CPU-kärnor används för parallella beräkningar i följande vyer:
  • Klass lista
  • Klass träd
  • Generations
  • nåbarhet omfattningar
  • klass lastare
  • webbapplikationer
  • Objekt åldrar
  • UI: förbättring: & quot; Beräkna exakt behållit storlekar & quot; åtgärder använder tillgängliga CPU-kärnor för att utföra beräkningar parallellt
  • UI: förbättring: & quot; Beräkna exakt behållit storlekar & quot; åtgärden inte tvinga sortering efter den behålls storleks kolumnen om beräkning fortsätter
  • Optimering: tilldelning inspelning overhead har sänkts för flertrådade program. Hur stor förbättringen är beror på & quot; Record varje n: te objekt & quot; inställning. Enligt tester, kod som profilerade går upp till 30% snabbare när varje 10 objekt spelas in (standardinställningen), och upp till 70% snabbare när varje 100 objekt spelas in, att jämföra med den tidigare versionen
  • webbapplikationer: förbättring: webbapplikation sammanhang bana (URL) visas nu i tillägg till webbapplikation namn
  • webbapplikationer: lagt till stöd för Jetty (version 6, 7, 8)
  • klass instans räkna telemetri (& quot; Klass List & quot; fliken), till skillnad från andra vyer telemetri, inte automatiskt regelbundet uppdatera. Detta är för prestandaöverväganden. Samla statistik kan ta avsevärd tid vid stora högar med många objekt, vilket ska köras på efterfrågan
  • I stället uppdateras när:
  • & quot; Refresh & quot; knappen trycks när fliken är synlig (en explicit uppdatering)
  • & quot; Force sophämtare & quot; knappen trycks när fliken är synlig (det är vettigt att omedelbart se förändringar i objekt räknas och storlekar efter att tvinga sophämtning)
  • en ögonblicksbild fångas (samla statistik är en del av avskiljning)
  • UI: Paths: buggen: duplicera väg poster kan visas under vissa omständigheter
  • Telemetri:
  • CPU-användning telemetri. kernel CPU-tid visas som en separat kurva, förutom huvudanvändare + kärna CPU-tid diagram
  • AIX notera: vi vet två funktioner för att mäta process CPU-tid på AIX: clock_gettime (CLOCK_PROCESS_CPUTIME_ID) och rusage (). Den första används som standard eftersom det verkar ge bättre resultat än dess motsvarighet. Emellertid har det en nackdel: det ger inte kärnan och användartider separat. Detta innebär att du inte ser kärnan tiden telemetri. För att aktivera det, ange agent startalternativ _with_rusage att använda rusage () i stället.
  • Diagram rendering har optimerats, vilket gör UI mycket mer lyhörda, speciellt när man använder större skalor
  • Gäng statliga telemetri: buggen: telemetri prover kan hända på en lägre hastighet vilket resulterar i luckor i tråden staten telemetri diagram
  • Probes:
  • Ny funktion: förmågan att rensa tabeller. Bli av med äldre händelser som du inte är intresserad av längre, eller ge utrymme för nya händelser om gränsen tabellen kapaciteten har uppnåtts.
  • För att rensa bordet från UI, användning & quot; Rensa tabellen (s) ... & quot; förbindelsen som ligger i övre högra hörnet av & quot; Probes & quot; fliken.
  • För att rensa tabeller programmatiskt, använda profiler API metoden Controller.clearUserTables (String ... tableNames)
  • UI: & quot; Probes & quot; fliken layout har ändrats till ger mer vertikalt utrymme för att surfa händelselistor och göra UI mer konsekvent. Nu tabeller, tidslinje, händelsesamtals träd och CPU-användning uppskattning flikar ligger på samma nivå.
  • klass lastning sond kan aktiveras med startalternativ sond = classloading (standard) och rörelsehindrade med startalternativ noprobe = classloading. Startup alternativ builtinprobes = ingen innebär nu noprobe = classloading.
  • Probes: API: föråldrat klass com.yourkit.probes.ObjectIntWeakMap har tagits bort. Använd com.yourkit.probes.ObjectRowIndexMap istället.
  • & quot; Tråd Life Cycle & quot; inbyggd prob: buggen: namn förändringshändelser felaktigt förknippas för några JVM invändiga gängor
  • Triggers:
  • utlöser standardbeskrivningsfilen har ändrats för att /.yjp/triggers.txt
  • IDE Integration:
  • Eclipse, IntelliJ IDEA, upptäcker NetBeans 7.0 och nyare plugin automatiskt 32-bitars och 64-bitars JVM.
  • & quot; Profile & quot; åtgärder måste veta om JVM för att starta den profilerade ansökan är 32-bitars eller 64-bitars, i syfte att tillföra lämplig agent version.
  • Tidigare plugin helt förlitat sig på användarens val i & quot; 32-bitars eller 64-bitars JRE Selection & quot; fliken plugin konfiguration. Ett felaktigt val resulterade i JVM fel Fel uppstod under initiering av VM. Kunde inte hitta agent bibliotek.
  • Nu görs ett försök att automatiskt upptäcka JVM slag genom att få fram tillgängliga uppgifter från IDE. Om upptäckt lyckas, åsidosätter dess resultat användaren gjorda val.
  • gör detta & quot; Profile & quot; action arbete ur lådan i de flesta fall.
  • Obs: vi behöll & quot; 32-bitars eller 64-bitars JRE Selection & quot; flik som en backup för de fall då den automatiska detekteringen är omöjligt.
  • Eclipse: Maven köra konfigurationer som stöds i Eclipse 3.7 och nyare
  • IntelliJ IDEA 12 stöds
  • NetBeans 7.3 stöds
  • NetBeans: buggen: profilering enda klass eller JUnit testet kanske inte fungerar i webbprojekt
  • J2EE Integration:
  • J2EE integration guiden: lagt Jetty 6 och nyare stöd
  • Användargränssnitt
  • Förbättring: den vänstra vertikala flikgrupp som representerar öppnade ögonblicksbilder och anslutna program nu försöker undvika scroller om många flikar öppnas, genom att förkorta fliken titlar. Om hela fliken titeln inte passar, det fortfarande kommer att vara tillgänglig via ett verktygstips.
  • Filter: lagt ett snabbt sätt att växla mellan att tillämpa och att inte tillämpa filter i UI:
  • med en ny huvudmenyn Inställningar | Kollaps Filtrerade samtal
  • verktygsfältet när Profiler är ansluten till en löpande ansökan
  • & quot; Filter ... & quot; hyperlänk i legenden när man arbetar med en ögonblicksbild
  • Skalbarhet: att göra UI mer lyhörd när man arbetar med stora bilder, & quot; anropade listan & quot; slav uppfattning inte beräknas automatiskt så snart valet i huvudtabellen ändras. I stället bör beräkning uttryckligen startas genom att klicka på en länk. Som standard är automatisk beräkning utförs för ögonblicksbilder med mindre än 1.000.000 samtalsramar (dvs. unika buntar), som täcker den största delen av den verkliga världen snapshots. Om du vill ändra tröskeln anger -Dyjp.callees.auto.threshold = antalet bildrutor i /bin/yjp.ini.
  • Utökat stöd av systemen hög kontrast färg. För att använda den, ange -Dyjp.system.colors = true i /bin/yjp.ini.
  • yjp.sh startskript förbättras: om YJP_JAVA_HOME miljövariabeln anges den har Priory över medföljande JRE och systemet standard Java, vilket ger en möjlighet att köra profiler UI i synnerhet Java-versionen utan att redigera start script
  • Sammanfattning: sattes & quot; kommandoraden & quot; egenskap för att representera hela kommandoraden av Java processen
  • Samtals träd och tillbaka traces visningar: lagt popup menyalternativet för att expandera valda noden ner till 5 nivåer, som ett komplement till det befintliga objektet som expanderar noden helt
  • Förbättring: dialog stil förenas i fråga om hjälp och icke-stängningsknappen plats
  • Bug fast: Profiler fönstret kan bli osynlig efter profiler omstart om någon av tidigare använda skärmar var inte längre tillgängliga
  • Bug fast: stack overflow undantag under vissa sällsynta fall
  • Bug fast: filväljare anropas från Open Snapshot dialogrutan felaktigt hanterade Enter, när du kör UI på Java 7
  • Övrigt:
  • Exportera med kommandoraden: klasslista exporteras för prestandaögonblicksbilder alltför (som kan ses i fliken Minne | Klass lista)
  • Varning: snapshot katalog konfigurationsfilen är nu /.yjp/snapshotdir.txt
  • Windows Installer: Profiler är nu levereras med Java 7 JRE. Anm. Java 6 förblir ett fullt stöd plattform
  • Agent: log filnamn är nu -.log till bättre separata loggar från olika program
  • Agent. lagt till en möjlighet att lagra loggar från flera körningar av samma ansökan i en serie av loggfiler som heter ..log istället för att skapa en enskild loggfil -.log för varje profil process
  • Det här läget kan vara användbart när profilering tillämpningar såsom servrar, när man har ett enat logg bättre än att ha en separat logg för varje server start.
  • Om du vill använda det här läget, ange startalternativ united_log
  • Session är namnet på programmet som visas i profil UI, och som även används som standard för att nämna programmets snapshots. Det väljs automatiskt för speciell tillämpning basera på jar-filen namn, eller dess huvudklassen namn eller anpassade körbara namn, eller på flykt konfigurationsnamnet när profilering inifrån IDE. Sessionsnamnet kan också uttryckligen anges med startalternativ sessionname =
  • Running nummer börjar med 1. Om den första loggfilen .1.log överskrider storleksgränsen, en ny loggfil .2.log skapas och användas, sedan .3.log etc. storleksgräns är 1 MB som standard, och kan ändras med startalternativ log_file_size_limit =
  • Obs: de äldsta loggfilerna inte automatiskt bort. Om du behöver rengöra dem, gör det manuellt eller skriva ett skript.
  • Agent: Groovy 2.0 stöds
  • Agent: CPU spårning och fördelning omkodning overhead något reducerad på IBM Java
  • Agent: buggen: bifoga läge: felaktig undantagshanterare i konstruktör under vissa omständigheter
  • Agent: buggen: möjlig java.lang.VerifyError: Blandat stackmap ramar vid grenmåls för särskilda kodmönstren sammanställts med Eclipse kompilator
  • UI: fjärrkontroll profilering: buggen: fjärrkontroll profilerade program som körs på olika maskiner, konfigureras för att använda samma port och började samtidigt kunde inte anslutas samtidigt i profileraren UI

Vad är nytt i version 10.0:

  • Den nya större version innehåller en hel del nya funktioner, förbättringar och korrigeringar. Stöd för AIX (PPC och ppc64) plattform sattes.
  • En ny & quot; triggers & quot; funktionen tillåter användare att automatiskt utföra olika åtgärder på särskilda händelser (hög CPU eller minnesanvändning, utförande av metoden, osv.).
  • Tilldelning inspelning kan samla sophämtare statistiken per klass.
  • Prestanda ögonblicksbilder kan utvinnas ur minnesbilder.
  • Kalibrering noggrannhet CPU spårning förbättrades.
  • CPU-användning och tid i sophämtare visas nu på samma graf.
  • Som vanligt, många förbättringar av användargränssnittet genomfördes.

Vad är nytt i version 9.5.1:

  • Förbättring: fler OSGi behållare program kan profileras utan behovet av att manuellt Twick OSGi inställningar för att tillåta lastning av profilerings klasser. I synnerhet inkluderar detta Glassfish 3.1.
  • IDE integration: förbättrade NetBeans plugin installation på Windows Vista och Windows 7. Tidigare kunde guiden IDE integration misslyckas om NetBeans installerades i en skyddad katalog som & quot; Program & quot; på grund av Windows användar Access Control (UAC). Nu är lämpligt UAC snabb visas vid behov, låter guiden lyckas.
  • IDE integration: NetBeans 7.0 M2 stöds
  • IDE integration: profiler plugin UI: förbättringar
  • UI: välkomstskärmen: förbättrad användbarhet på låg upplösning skärmar
  • UI: dialog öppna ögonblicksbild: gruppera bilder från session är nu frivilligt
  • Bug fast: UI: dialog öppna ögonblicksbild kanske felaktigt uppdatera under vissa sällsynta fall

Begränsningar :

  • 15-dagars utvärdering

Liknande mjukvara

ReviewBoard
ReviewBoard

19 Feb 15

Tarn
Tarn

14 Apr 15

lintswitch
lintswitch

15 Apr 15

nosango
nosango

11 May 15

Kommentarer till YourKit Java Profiler

Kommentarer hittades inte
Kommentar
Slå på bilder!