Java Interactive Profiler / News: Recent posts

1.1.1 is now available

Fixes for the occasional HUGE timing (thanks to Lars Ekman)

Posted by Andrew Wilcox 2008-01-09

1.1 (final) is now available

After a number of months of beta testing, JIP 1.1 final is now available. Thanks to all the people who submitted feedback during the beta! This release includes the following:

Timelines. This release features an alternative profiler engine that produces a
timeline rather than timings.

JIP now come with a GUI front end called jipViewer that can be used to view
JIP's output.

Improved "net time" reporting. The time that a thread spends calling Object.wait,
Thread.sleep, Thread.join or Thread.yeild is not longer counted as part of a
method's net time.... read more

Posted by Andrew Wilcox 2007-06-23

1.1 release candidate 1 is available

The big changes from beta 3 are:

Created a new ClassLoaderFilter called the GenericClassLoaderFilter. Using it, you can specify which classloaders will be profiled via a property (accept-class-loaders)

Added a profile property called include that allows you to tell the profile which classes and packages to profile.

Added a FAQ to the readme.html

Posted by Andrew Wilcox 2007-06-03

1.1 Beta 3 is now available

Beta 3 includes the following:

Fixed a problem where caught exceptions were messing up the JIP call stack.
* Added the ability to turn off the top section of the profiler output. This is useful when you only want to see the summary information. This is accomplished by adding:

to the profile properties file.

Baring any major issues, the next release will be release candidate 1.

Posted by Andrew Wilcox 2007-05-13

1.1 Beta 2 is now available

Beta 2 includes the following new items:

- Improved "net time" reporting. The time that a thread spends calling Object.wait, Thread.sleep, Thread.join, Thread.yeild or synchronized is not longer counted as part of a method's net time.

- The timeline profiler now notes when activity on a thread is suspended due to calls to synchronized, wait, sleep, join and yield (as discussed above). This is shown in the output via W:START and W:END.... read more

Posted by Andrew Wilcox 2007-04-15

1.1 Beta 1 is now available

1.1 beta 1 is now available for people who would like to test-drive the latest release of JIP. This release includes:

jipViewer: Added this cool tool that allows you to view JIP output via a graphical user interface. Supports all kinds of helpful features to help you analyze your profile.

Timelines: This release features an alternative profiler engine that produces a timeline rather than timings.

Added a new optional property: output-method-signatures. Setting this to yes causes JIP to include the signature of a method, in addition to its name and package, in the output. ... read more

Posted by Andrew Wilcox 2007-04-10

1.0.7 final released

Version 1.0.7 is an important release for JIP. The runtime engine has been refactored and a number of important bug fixes were added thanks to the many users who submitted bugs and asked questions. JIP is now a robust profiling tool that still holds true to it original tenants of being a lightweight, lower overhead profiler that's written entirely in Java. The major features for JIP include:
The option to exclude classes or packages from being profiled.
Interactive profiling -- being able to start and stop the profiler at runtime.
Programatic profiling -- being able to start and stop the profiler inside plain Java code.
Optional XML output -- this makes it easy to grab the raw output and manipulate it directly.

Posted by Andrew Wilcox 2006-06-27

1.0.7 beta2 is available

Added a fix for the ConcurentModificationException.
More information is no available when the debug=on flag in the is used.

Posted by Andrew Wilcox 2006-06-17

1.0.7 beta 1 is available

This beta release contains a number of fixes/improvement that are targeted to ensure that the output is as consistent as possible. Also there is a fix for getting a NullPointerException when object allocation tracking is turned on.

Posted by Andrew Wilcox 2006-06-13

1.0.6 released

Fixed bug causing ConcurrentModificationException as well as preventing "wacky" percentages in the output. Special thanks to Stefano Doni for all of his great help!

Posted by Andrew Wilcox 2006-06-09

1.0.5 released

1.0.5 fixes a major bug that was introduced in the last version of JIP. The bug was causing programs configured for interactive profiling to crash when the VM started. Thanks to Nascif Abousalh Neto for finding and reporting this!

Posted by Andrew Wilcox 2006-04-25

1.0.4 released

Minor bug fixes and enhancements

Posted by Andrew Wilcox 2006-04-20

JIP: IBM developerWorks article

IBM developerWorks has published an article by Andrew Wilcox (the principle developer of JIP -- the Java Interactive Profiler) about building a Java profiler using the Java 5 Agent interface. JIP embodies all of the desirable qualities of a Java profiler, as laid out in the article, in the form of a mature, Open Source product. The article can be found here:

Posted by Andrew Wilcox 2006-03-14

1.0.3 released

Fixed problems profiling applications that use Hibernate.

Posted by Andrew Wilcox 2006-02-06

1.0.2 released

Fixed a problem when running JIP against classes that had been compiled with AspectJ.

Posted by Andrew Wilcox 2006-01-31

Whitepaper now available on the home page

The JIP whitepaper, which had been released with each new version of JIP, is now available as a link off the project home page ( It will no longer be a separate download. (Note that both the binary and source distributions of JIP contain this whitepaper in the /doc directory)

Posted by Andrew Wilcox 2006-01-31

JIP Logo

JIP finally has a logo. You can see it on the project home page:

Posted by Andrew Wilcox 2006-01-20

1.0.1 released

Fixed some output issues when using the profiler interactively.

Posted by Andrew Wilcox 2006-01-13

1.0.0 released!

Version 1.0 released! Includes minor fixes and updated documentation.

Posted by Andrew Wilcox 2006-01-05

0.9.4 released (v 1.0 rc 1)

Minor fixes and enhancements. If no major issues are found in this release, it will become v 1.0 (to be released in the next few weeks)

Posted by Andrew Wilcox 2005-12-21

0.9.3 released

Version 0.9.3 adds the option to have output to a directory with auto-geneated file names (in addition to being able to specify a particular file name). It also gives you the choice of having text-based or raw XML output (or both). Minor thread safety issues were also addressed. The next release will probably be 1.0 rc 1

Posted by Andrew Wilcox 2005-12-11

0.9.2 released

Version 0.9.2 adds an API for programmatically interacting with the profiler, an option to track object allocation and an extensible classloader filtering mechanism.

Posted by Andrew Wilcox 2005-12-04