Thursday, April 23, 2009

JPicus - Java(TM) I/O analysis framework

Java(TM) is already a mature technology with plenty of tools supporting the development process. One of the things that is missing though is I/O analysis. Not a long time ago I was in a situation that I needed a tool for I/O analysis in order to track the origin of some leaking file handles. I searched the net for such a tool several times but I couldn't find anything suitable so I decided to create the tool myself. My first prototype was using the native JVMTI method entry and exit events. This was pretty simple to implement and the prototype worked initially but it turned out not to be the best approach. After reading several articles about JVMTI, I found out that the recommended way to use it is bytecode instrumentation. The benefit of this is that the JVM can run at full speed and even optimize (JIT) the bytecodes that you insert in the profiled application. Bytecode instrumentation was a rather new area to me so I decided to give it a try. That is how the JPicus Java(TM) I/O analysis framework was born. For more information see my page on the SAP developer network.

8 comments:

  1. Hi, I tried using jpicus after being at your presentation at javaone (which was very good by the way) but when i try to add the update site to eclipse I get the message "no repository found at https://www.sdn.sap.com/downloads/netweaver/previews/eclipse/340/jpicus. Is it still available?

    ReplyDelete
  2. I'm having the same issue as Karl

    ReplyDelete
  3. Hi, the repository is still available. The problem will most likely be resolved by updating the JRE that you use to run Eclipse to version 1.6 u14 or higher. See the comment from Hans at the JPicus home page on the SAP Developer Network for more information.

    ReplyDelete
  4. Hi There

    We still cannot download JPicus. It says file not found. If you are going to get everyone excited about the product, please make it available for download. Perhaps, you should consider an alternative way for people to download the software.

    ReplyDelete
  5. login also denied...
    this is a phantom product...
    perhaps it works in alternate dimensions.

    ReplyDelete
  6. Hi,

    I am glad you are interested in JPicus and I am truly sorry that you are experiencing problems with the download. I haven't been checking my blog comments recently and hence the delay in response.
    The problem that you are experiencing is most likely due to the recently introduced incompatibility between SDN and Eclipse 3.5. As a workaround you can try to install the feature in Eclipse 3.4 and copy them manually to 3.5. I have also posted this solution to the official JPicus page's comments.

    Best Regards,
    Pavel

    ReplyDelete
  7. Pavel,

    Can JPicus be used without the UI?
    That is, can I make use of JPicus to gather information about IO, but feed that information somewhere where it could be analyzed (say a DB of some sort)?

    Thanks!

    ReplyDelete
  8. One more question: what license is JPicus released under?

    ReplyDelete