Version 59

    JBoss Profiler




    JBossProfiler is now available at JBossLabs where you can find much better information. I'm still keeping this page but the information at labs will be more updated.




    JBoss Profiler is a log based profiler using the JVMPI system.  It uses an agent written in C that captures events from the JVM and logs them to disk.  A web application running on JBoss or another machine can be used to analyze these logs through a web browser.


    Using log files is especially useful for server application analysis.  Creating profiling snapshots without the need of a front-end near the JVM means the data can be analyzed remotely.


    Imagine if your application server slows down and you don't know why.  Why should you have to install a complex tool environment or have to send data through an open port, breaking firewall rules between the profiler front-end and the JVMPI/JVMTI?  JBoss Profiler can be easily run though your web browser instead.



    Configuring JBossProfiler is just a matter of installing MBeans and adding a simple parameter to your JVM, however If you can't figure out by our documentation, please join us in the Profiler Forum|] and feel free to ask questions.





    You can download JBoss-profiler using CVS.  JBoss profiler is available in the "jboss-profiler" module in the CVS repository on sourceforge.  If you have a copy of CVS, use these commands to download the software:


    $ unset CVS_RSH # if this is set pserver doesn't work
    $ cvs -z3 co jboss-profiler


    You can also download it at labs:


    There is a small readme.txt there to get you started with building the components.


    Note on building and deploying the JBoss Profiler for Solaris.


    How it works


    After you have configured the parameters into the JBoss Profiler, the profiler will sleep until you send a wake-up signal. After it starts, events will be captured in .log.gz files.

    You can analyze those events later.

    After you have finished exercising your code, you send a stop signal, using the same method you used to send the wake-up signal.


    The wake-up and stop signal can be sent by a kill -3 <pid> command on UNIX or through CTRL-BREAK on Windows, or by using a profiler console that connects to its engine using a socket. (Refer to the readme.txt in the jboss-profiler module about using a socket.)  A MBean to manage profiling starts, stops, and pauses is in development.


    Analyzing the data


    Deploy the built jboss-profiler.war application on JBoss.  You can access the web profiler interface at http://localhost:8080/jboss-profiler .  This application is used to analyze your .log.gz files.


    How can you help


    • First, if you find any language mistakes here, please fix them.

    • We don't have a good front-end now. It works but it can be improved. We will probably have two versions for the front-end. One will be a web interface (may become a simple MBean or set of MBeans) and the other an Eclipse plugin for the JBoss IDE.

    • Documentation is priority one now. Please help by using, documenting and providing feedback.

    • There is an underlying API for analyzing the logs that should be documented


    More information at JBossProfilerDocumentation



    For those who are behind a corporate firewall and those who cannot use CVS to checkout the code, CVSGrab would be helpful.


    There is information in how to use CVSGrab at CVSRepository