 | | JProfiler:
| 5.1.3 | | | (2008-04-29) | | install4j:
| 4.1.1 | | | (2008-04-24) | | exe4j:
| 4.1 | | | (2008-04-03) | | jclasslib:
| 3.0 | | | (2005-01-14) |
|  |
| |
Release 5.1.3 (2008-04-29) |
|
New features:- Support for Mac OS X Java 6 DP9
- Support for Netbeans 6.1
Bugs fixed:- HPROF dialogs were not correctly sized so that the OK button was sometimes clipped
- Fixed problems with Netbeans integration
- JProfiler MBean was garbage collected under certain circumstances
Release 5.1.2 (2008-01-17) |
|
Bugs fixed:- The fix for "Instrumentation of some native methods" in 5.1.1 lead to other VerifyErrors that are fixed in this release.
- Heap walker, reference view: the "tree of outgoing references" view mode did not show any data if strings with certain characters were among the outgoing references.
Release 5.1.1 (2008-01-10) |
|
New features:- Call graph: optional display of average times, configurable in the view settings
Bugs fixed:- NPE was thrown in JNDI interception if the parameters of a JNDI query were null
- Recorded allocation counts for objects created in native code was wrong
- HPROF options dialog was only displayed if the file name had an .hprof extension
- Hot Spots view: deselecting "Show average values in brackets" in the view settings broke the table layout
- Instrumentation of some native methods when profiling with Java 6+ produced a VerifyError
- Monitor usage statistics included monitors from VM internal finalizer thread
- Fixed race condition in the JProfiler GUI
- Fixed some display problems if the JProfiler GUI was run with Java 1.4
New features:- Tree views of incoming and outgoing references in the heap walker reference view
- Cumulated references as a tree table in the heap walker reference view
- Action to select all exclusively referenced objects in the heap walker reference view
- Type resolution of object arrays in memory views and heap walker when profiling with Java 5+ (JVMTI)
- Reworked internal source viewer with file structure display, syntax coloring and search
- Bundled IDE integration for IDEA 7
- IDE integration for eclipse 3.4 (M2)
- IDE integration for Netbeans 6
- Added option to remove unreferenced objects when loading HPROF snapshots
- Added a fixed summary row at the bottom of the All Objects and Recorded Objects views
- Added context menu in thread history view to switch to single threads in the call tree or hot spots view
- Average time is now a separate sortable column in the CPU hot spots view
- View and thread filters are now persistent on a per-session basis
- The main toolbar can now display icons with text or small icons
- External source viewer: source files which are contained in JAR files are now extracted to temporary files before the external viewer is invoked
- Added "Show Source" and "Show Bytecode" actions to stack trace lists in the thread monitor view, the monitor views and the allocation spot description in heap walker
- Added context menu in object comparison to create allocation call tree and allocation hot spot comparisons for the selected class
- Session settings: if an executable JAR file is selected for profiling, the Class-Path manifest entry can be added to the class path automatically
- The "node details" dialog in all tree dialogs is now non-modal
- Added expansion popups in hot spot views
- View filters in hot spots views now support all hot spot types. Previously, only methods were supported.
- Selection step labels in the heap walker selection description are now hyperlinks to the first occurrence of the corresponding object set
- Heap walker reference view: Added view source and view bytecode actions to the cumulated reference views
- The "Record CPU data" and "Record allocation data" actions can now be invoked manually as well when there are triggers that start and stop recording
- Integration wizard for install4j/exe4j projects
- Integration wizard for BEA Weblogic 10
- Integration wizard for JBoss 5
- Integration wizard for Apache Geronimo 2
- Integration wizard for Caucho Resin 3.1
- API: added com.jprofiler.api.agent.interceptor.PayloadInfo.discardTime(). This can be called if no timing information is desired for an interceptor type.
Bugs fixed:- Clicking on Auto-Update in the status bar in the class tracker did not retrieve new data
- Source viewer did not support secondary top-level classes with file scope
- Numbers next to the bar in the hot spot view could be cut off
- Table views in the heap walker did not have action for "Use selected objects"
- java.lang.Class was not present in the package aggregation level of the heap walker
- eclipse integration: source navigation to inner classes was broken
- Disconnecting and reconnecting to a remote JVM when dynamic views were frozen lead to inconsistent state in the GUI
- Fixed integer overflow in monitor usage statistics
- Classes with varargs-style main method could not be profiled
- Wrong units were used in the difference column of the object views when the primary measure was set to "shallow size"
Release 5.0.1 (2007-07-27) |
|
Bugs fixed:- Data in call tracer and monitor history views was not saved to snapshots under some circumstances
- Uninstaller did not work when JProfiler was running with Java 1.4
- eclipse 3.1 integration: source navigation did not work for some project configurations
- Netbeans integration: fixed several GUI problems
- API samples did not work with floating licenses
- HPROF snapshots with a file extension other than .hprof could not be loaded
- Fixed a rare crash in the profiling agent
- The entry for "calls to filtered classes" is no longer shown in the CPU hot spots view
New features:- Powerful triggers and actions
- Support for reading and writing HPROF memory snapshot files
- VM telemetries overhaul with additional VM telemetries
- Redesigned session settings
- Call tracer view
- eclipse integration: support for WTP launch configurations
- JProfiler MBean for controlling the profiling agent
- Native methods can be instrumented when profiling with Java 6+
- Primitive data types can be captured by heap snapshots when using Java 6+
- More flexible filter settings for method call recording
- Custom profiling settings templates
- Option to disable all filters when sampling is used
- eclipse integration: support for eclipse 3.3M6
- eclipse integration: support for equinox launch configurations
- eclipse plugin is bundled as a feature
- Improved JVM search in setup wizard and general settings dialog ("Search common locations")
Bugs fixed:- Expanded the number of allowed interceptors to 32768. Previously, only 255 interceptors were usable.
Release 4.3.2 (2007-02-16) |
|
Bugs fixed:- Fixed problems with "Show source" action for IDE integrations
- Improved wait thread state recognition for IBM VMs
- Fixed java.util.concurrent recording issues
- API: payload types for multiple interceptors of the same class were not unique
- API: fixed rare custom interceptor instrumentation issues
Release 4.3.1 (2007-01-05) |
|
New features:- Console and source viewer frames are excluded from modality when JProfiler runs with Java 6
Bugs fixed:- Webstart profiling did not work with Java 6 JRE
- Fixed z-order issues in JProfiler GUI with Java 6
- Library version mismatch detection was broken
- NPE for call tree comparisons with filtered call nodes
- Call tree comparisons with annotated JDBC/JMS/JNDI measurements were broken
- Fixed rare deadlock on Mac OS X
New features:- Profiling platform with API for writing custom profilers and snapshot analyzers
- Interceptor API for injecting measurements, adding payload to the call tree and creating new hot spot types
- EJB 3 support
- Class tracker view
- Bundled IDE integration for IDEA 6.0
- IDE integration for Netbeans 5.5
- IDE integration for eclipse 3.3 M3
- Thread name changes are now tracked and updated in the JProfiler GUI
- Action for highlighting the shortest path to the main node in the reference graph of the heap walker
- Action to use the selected java.lang.Class objects in the Classes view of the heap walker
- Option for CPU hot spot comparison to compare total call time or average call time
- Layouters for the Call Graph view
- IDEA integration: support for changing the JProfiler executable
- Netbeans integration: support for profiling external Sun Java System Application Servers
- Netbeans integration: snapshot comparisons are now accessible
- Netbeans integration: several smaller bug fixes and enhancements
- BEA Weblogic 9.2 integration wizard
- Sun Java System Application Server 9 integration wizard
- Glassfish Application Server V1 and V2 integration wizards
- IBM Websphere 6.1 integration wizard
- Apache Geronimo integration wizard
- Tomcat 6.x integration wizard
- Backup config files in the Sun Java System Application Server and IBM Websphere integration wizards
Bugs fixed:- A StackOverflowError occurred if agent.jar was not in not on the boot classpath, now a NoClassDefFoundError is thrown
- Integer overflow could occur for garbage collected class instance counts in very large heaps
- Server in the profiling agent was not robust enough, now it is possible to reconnect if the connection was broken due to a network error
- Fixed race condition when profiling with the IBM JVM
- java.util.concurrent support in the Threads section did not work with Java 1.6
- Fixed a rare race condition that could lead to a crash at startup
- Console window was not removed from the window list when closed with the X button
- Live instance reference in the reference graph of the heap walker could be missing when not using the full GC option
- Hotspots could be missing in the CPU hot spot comparison if the hot spot was below the internal threshold in one of the snapshots
- Differencing in package aggregation level was broken
- "Hide calls" checkbox in call graph view settings was not persistent
- Method node selection dialog in call graph displayed wrong time unit
- Cross-platform console did not support overwriting current line with \r
- stack trace lists in threads section rendered J2EE components and URLs with internal class names
- thread name selector threw exception when entering some special characters
Release 4.2.2 (2006-09-25) |
|
Bugs fixed:- eclipse integration: environment variable modifications were not correctly handled by the JProfiler plugin
- Snapshot comparisons: could not compare arrays in allocation tree and allocation hot spot comparison
- Session ID was not re-generated when copying a session
- Loading snapshots with 100,000s of threads could be very slow
- Workaround for corrupted snapshots
- Export ant task did not work with some JVMs
- Command line export: no default liveness type for allocation views
- Command line export: an exception was printed when exporting from a snapshot containing a heap snapshot
Release 4.2.1 (2006-04-21) |
|
Bugs fixed:- Fixed wrong percentage values for very large total times in the hot spots view
- IDE integrations did not work on Solaris x86, HP-UX and AIX
- Library version mismatch detection was broken
- All objects view and recorded objects view: wrong column headers for snapshots where shallow size was selected as the primary measure
- All objects view and recorded objects view: wrong columns for class nodes in the package aggregation level when shallow size was selected as the primary measure
- command line export of allocation tree and hotspots: liveness type was ignored if no class or package selection was specified
New features:- Support for AIX (AIX 5.2/5.3 on PPC)
- Support for HP-UX (HP-UX 11i on PA_RISC)
- Support for Intel Macs
- Facility for comparing saved snapshots
- Command line export (and ant task) for saved snapshots
- Command line comparison (and ant task) for saved snapshots
- Class nodes in the reference graph of the heap walker
- Support for finding classloader-related memory leaks
- IDE integration for JDeveloper 10.1.3
- IDE integration for IBM RAD 6.x
- Thread monitor view: display creating thread as well as creation stack trace (JVMTI only)
- Monitor usage history view: display owner thread and its stack trace for blocking events (JVMTI only)
- Deadlock detection and monitor usage for the java.util.concurrent package
- Preserve context when switching aggregation level or thread status in any call tree view
- Option in the file chooser to export entire call trees rather than just the open nodes
- Option to open exported files is now in the file chooser and remembered separately for each export format
- Time and size display is now configurable in the view settings of all relevant views
- Support for BEA Weblogic 9.1
- New profiling setting to optionally show system threads
- Optionally include weak references when searching for path to GC roots in the reference graph of the heap walker
- Instant feedback in the status line when moving the mouse over edges in the reference graph and the call graph
- Deadlock detection graph: show possible deadlocks if a thread holding a contended monitor is waiting to be notified
Bugs fixed:- Changed default sort mode in the "all objects" and "recorded objects" view to the more intuitive normal ordering
- Incomplete instrumentation when switching off the java core classes for dynamic instrumentation
- Thread history view sometimes had parts of threads missing when viewing offline snapshots
- Windows look and feel fixes
- Fixed faulty z-ordering of some JProfiler windows on KDE
- Rare deadlock when switching to the VM telemetry views
- Profiling settings were not easily accessible in the Netbeans integration
- More robust snapshot format, fixed rare cases of corrupted snapshot files
Release 4.1.3 (2006-01-10) |
|
New features:- Support for eclipse 3.2 M4
- Support for Netbeans 5.0 beta 2
- Locale-sensitive CSV separator char, can be overridden in bin/jprofiler.vmoptions
Bugs fixed:- "Show path to GC root" caused exception in Netbeans 5 integration
- Time measurement type "estimated CPU times" didn't work correctly with JVMTI
- Ant task for profiling didn't work in headless environments
- Invoking "set root" multiple times did not work in call tree
- Wrong sizes in the recorded objects view for special cases
- Netbeans integration wizard did not work on Windows if user PATH variable did not exist
- On reconnecting to a remote application, "profiling settings could not be set" was sometimes displayed
Release 4.1.2 (2005-11-03) |
|
Bugs fixed:- Fixed instability when taking heap snapshots with JVMTI
Release 4.1.1 (2005-10-28) |
|
Bugs fixed:- Problem with eclipse 3.1 integration
New features:- Support for 64-bit JVMs: Windows/AMD64, Linux/AMD64, Solaris Sparc V9 and Solaris Sparc x64/AMD64
- Support for Solaris on the x86/x64 architecture
- Quick search in all tables and trees
- Package aggregation level as a tree-table view with direct access to classes
- IDEA 5 integration
- Netbeans 5 integration
- Filtering capabilities for monitor contention views
- Ant integration
- Redistributable agent: a new conversion wizard helps you distribute the profiling agent to your customer's machines
- Automatic config file synchronization for remote profiling
- Percentage threshold in call graph
- Exclusive view filters
- Selectable primary measure (instance count or shallow size) for all objects view and recorded objects view
- Preliminary eclipse 3.2 integration (M2)
- Allow zip and jar files in the source path
- Export hot spots as CSV (in addition to XML)
- Remove IDE integrations when JProfiler is uninstalled
- Optionally display average value in call tree and hot spots
- VM telemetry views: current values are displayed in the legend
- Possibility to define an external source viewer in the general settings
- New "View"-Menu (instead of the "Edit"-Menu) that is synchronized with the context menu, session settings are now under "Session"
- More keyboard shortcuts. Keyboard are displayed in the toolbar tool-tips
- Added inherent time to XML export of call trees
- Integration between recorded object view and allocation views now also work for packages
- High contrast color scheme for thread history view (can be activated in bin/jprofiler.vmoptions)
- Possibility to reconnect if contact with the license server has been lost
- Integration wizard for Coldfusion MX
- Integration wizard for Sybase EAServer
- Integration wizards for all BEA Weblogic start types
Bugs fixed:- Several features did not work correctly after reconnecting to a remote session
- Thread status selector is now automatically switched to "All states" for JDBC, JMS and JNDI hot spots
- Bookmarks set programmatically didn't work in interactive mode
- Mac OS X: Apple-Q didn't quit profiled application
- Do not fail if -Djava.library.path is defined manually
- better recovery for invalid classes that should be instrumented
- CSV export in the time view of the heap walker produced empty output
- Time values are zero in CSV export of VM telemetry views
- Heap walker: static variables could have wrong content when using JVMTI
- Recording CPU data should did not reset custom root in call tree
- Controller.startCPUProfiling in interactive mode was broken
- JSP component detection did not work if URL splitting was disabled
- eclipse 3.0 and 3.1 integration: profiling a JUnit Plugin Test did not work
Release 4.0.2 (2005-06-23) |
|
Bugs fixed:- Fixed cumulated reference views for snapshot files recorded with JVMTI (new)
- Workaround for Java2D crash in graph views
- Fixed instrumentation problem with certain JSP pages
- Fixed annotation display in call tree in frozen and snapshot mode
- Improved robustness of snapshot saving in low memory situations
Release 4.0.1 (2005-06-14) |
|
Bugs fixed:- Fixed a crash when setting view filters (new)
- Fixed a crash in the agent library
- Print warning if -Xincgc is enabled for JVMTI
New features:- Measurement of JDBC, JMS and JNDI calls as annotations in the call tree
- J2EE component detection for servlets, JSPs and EJBs
- For servlets and JSPs, the call tree can be split for different request URLs
- Separate hot spot calculation for JDBC, JMS and JNDI calls as well as URL invocations
- Methods in the profiling API to register custom resolvers for JMS calls and URL invocations
- Selectable aggregation level for most views: methods, classes, packages and J2EE components
- Improved call tree views with enhanced visual feedback
- "Exclusive deep size" calculation in the heap walker
- Recording and display of object allocation times in the heap walker
- New "Time" view in the heap walker that shows a time-resolved histogram of allocations
- New sort modes in the references and data view of the heap walker for exclusive deep size and allocation time
- Global bookmarks for all time-resolved graph views
- Bookmarks for profiling events (starting and stopping of CPU and allocation recording)
- Method in the API to programmatically set bookmarks
- On-demand profiling: very small overhead if no CPU or allocation data is recorded
- Profiling with hotspot compiler enabled by default for Java 1.4 and Java 1.5
- New non-blocking startup mode of the profiled JVM for in-production profiling
- Support for new profiling interface JVMTI in Java 1.5 and 1.6
- New "All objects" view that works without recording allocations (JVMTI only)
- Substantial reduction of memory consumption and performance improvements
- Configurable timeout for long operations in the heap walker
- Multiple selection in the cumulated reference views in the heap walker
- New top-to-bottom hierarchical layout in the reference graph of the heap walker
- Allocation call tree and allocation hot spot views have class-resolution by default
- Option to not record primitive data in the heap walker (JVMPI only)
- New action in the call graph to remove unconnected methods
- Integration of the recorded objects view with the allocation views
- Configurable threshold in the call tree view in percent
- Action in the window menu to close unused console windows
- Method in the API to save a snapshot when the JVM exits
- Methods in the API to start and stop thread profiling as well as VM telemetry recording
- Support for Netbeans 4.1, including free form projects and the bundled Sun Java System Application Server
- Support for BEA Weblogic 9.0
Bugs fixed:- Major performance improvement for the thread history view
- Integer overflow could lead to negative numbers in the hot spots view
- Many bug fixes and smaller enhancements in the GUI
- Many improvements and fixes for the GUI on Mac OS X
- Fixed stability issues related to finalizers
Release 3.3.2 (2005-05-30) |
|
Bugs fixed:- eclipse integration: support for eclipse 3.1 M7
- eclipse integration: exception when profiling eclipse applications
- eclipse integration: JRE selection for eclipse applications was not recognized correctly
- exception when quickly opening nodes in the call tree
Release 3.3.1 (2005-03-22) |
|
New features:- integration wizard for Websphere 6.0
Bugs fixed:- eclipse 3.x integration didn't work when default bootpath for JRE installation was switched off
- view source in the eclipse 3.x integration did not work for multiple projects
- improved number format for CSV export
- copying rows in tables showed object references instead of numbers in some views
- string display in the heap walker was sometimes incorrect
- redraw problems in deadlock detection graph were fixed
- fixed overflow in hotspot views that could lead to negative times and percentages
- setup wizard dialog was too small on Mac OS X
New features:- rewritten eclipse 3.x integration
- rewritten IDEA 4.x integration
- IDE integration for JDeveloper
- IDE integration for Netbeans 4.0
- considerably reduced memory consumption
- improved long-term stability for profiling
- heap walker: in the cumulated incoming reference view, reference holders as well as referenced objects can be displayed and selected
- option to keep the profiled JVM alive
- support for Java Web Start 1.5
- CSV export for graphs
- enhancements in XML export for trees
- integration wizard for profiling servers in IBM WSAD
- integration wizards for Pramati 3.5 and Pramati 4.x application server
- integration wizard for Websphere 4.0 Advanced Edition
- integration wizard for Sun Java System Web Server
- integration wizard for Sun Java System Application Server
- integration wizard for Oracle 10g Application server
- integration wizard for Apple WebObjects Developer 5.x
- snapshot files (*.jps) can be opened from the command line and from the Windows explorer
- JBuilder IDE integration now supports JBuilder 2005
- much better appearance of the JProfiler GUI with Windows native look and feel
- JProfiler GUI now also runs under Java 1.5
Bugs fixed:- monitor statistics were broken
- invalid class files caused a shutdown of the profiled application
- many bug fixes in the GUI
New features:- optional line number resolution in call trees and hotspot backtraces
- export views to CSV data and XML
- integration wizards now support profiling on remote computers
- new wizards for converting local sessions to remote sessions and offline profiling sessions
- option in hotspot views to add filtered classes to calling class
- reference graph: instances have plus and minus icons for outgoing and incoming references. References can now be hidden.
- method graph: methods have plus icons for incoming and outgoing calls. Methods can now be hidden by deleting them from the graph
- possibility to search for arbitrary number of garbage collector roots in the reference view of the heap walker
- possibility to view source files in the reference graph of the heap walker and the method graph
- digit grouping for numbers in all views
- separate cumulated and non-cumulated view modes for allocations view in the heap walker
- library parameter for verbose mode to print out instrumented classes
- on Windows, the -Xmx setting for JProfiler is now in the file jprofiler.exe.vmoptions
Bugs fixed:- resolved possible collision with zlib libraries of other products
- Weblogic 8.1 SP3 start scripts were not recognized
- resolved rare deadlock when starting up local sessions
- rapid keyboard navigation in reference graph of the heap walker lead to an exception
- snapshots saved with JProfiler 3.0 could not be read by JProfiler 3.1
- IDE integrations did not work with some JREs
- IntelliJ IDEA 4.x integration: working directory was not respected
- reference graph: exception when Strings > 10k were displayed
Release 3.1.2 (2004-08-13) |
|
Bugs fixed:- fixed stability problems with Windows XP Service Pack 2
- dynamic instrumentation did not work with Apple 1.4.2 Update 1
- application server integration wizard did not work on Mac OS X
- the deep size calculation for object sets in the heap walker could produce wrong results
Release 3.1.1 (2004-08-06) |
|
Bugs fixed:- fixed net I/O problems with IBM and classic JVMs
New features:- new "net I/O" thread status in CPU and thread views
- filtering controls for threads in the thread history view
- selection of collection contents in the reference view of the heap walker
- selection of multiple objects in the reference view of the heap walker
- optional display of object IDs in the reference view of the heap walker
- possibility to sort instances in the reference and data view of the heap walker by shallow and deep size
- selection of multiple objects in the data view of the heap walker by flagging them
- calculation of the deep size of object sets in the heap walker
- expansion popups for long thread names in the thread history view
- display of shallow and deep size for the current object in the reference view of the heap walker
- big numbers are formatted with separators in tree views
Bugs fixed:- unreferenced objects were accessible in the reference graph of the heap walker even when unreferenced objects were removed for the heap snapshot
- "show path to root" function in the reference graph of the heap walker could produce incorrect results
- method graph: fixed inherent time calculation for recursive methods
|