1 2 3 4 Previous Next 45 Replies Latest reply on Oct 27, 2008 8:45 AM by Jesper Pedersen

    JBoss Profiler 2

    Jesper Pedersen Master

      JBoss Profiler 2 will be a 100% Java based profiler capable of profiling Java Enterprise 5 applications.

      The profiler will use the java.lang.instrument API to hook into method invocations of the classes selected in the configuration.


      * 100% Pure Java

      x Memory storage for snapshots
      x File storage for snapshots

      * Integration with JBoss Enterprise Middleware Suite (JEMS)

      x Ability to change configuration at run-time

      * Access through multiple protocols using JBoss Remoting

      x Socket
      x RMI
      x HTTP

      * Reports

      x Overview
      x Classes
      x Hotspots
      x PerThread
      x PerClass

      * Able to specify method visibility

      x Global
      x Package
      x Class

      * Component identification

      x Plain Old Java Object (POJO)
      x java.lang.Throwable
      x Enterprise JavaBean: Entity
      x Enterprise JavaBean: Session
      x Enterprise JavaBean: Message
      x Servlet
      x Servlet filter
      x JavaServer Pages
      x JMX MBean
      x JavaServer Faces Converter
      x JavaServer Faces Managed Bean
      x RMI: Remote
      x RMI: Server
      x CORBA: Object
      x CORBA: Servant
      x Other: Using component identification plugins

      * Client

      x Command line
      x Seam web client
      x Administration console

      The profiler is split into the following components:

      * Agent : Collects the profiling information
      * Shared: Shared classes between the agent and clients
      * Connectors: Classes needed for communication
      * AS: Classes needed for AS integration
      * Client: Client implementations

      The API between client and agent:

      * startProfiler: Start the profiler
      * stopProfiler: Stop the profiler
      * snapshot: Take a snapshot
      * getSnapshot: Get a snapshot
      * listSnapshots: List snapshots
      * clearSnapshots: Clear snapshots
      * gc: Trigger garbage collection
      * enable: Enable the profiler
      * disable: Disable the profiler
      * load: Load a snapshot
      * save: Save a snapshot

      Additional client functionality:

      * Snapshot difference
      * Call-stack analyzer

      The profiler targets JBoss Application Server 4.2 and 5.0, since it requires a Java 5 run-time environment. The profiler must also be able to profile standalone applications or frameworks.

      A Proof-of-Concept has been implemented along these lines.

        • 1. Re: JBoss Profiler 2
          Scott Stark Master

          Fantastic. It would be great to get the souce into svn for others to see. However, currently the profiler codebase is in the old cvs repository:

          CVSROOT :ext:username@cvs.forge.jboss.com:/cvsroot/jboss

          I can see about getting the profiler repo moved to svn. How does this codebase relate to the previous one?

          • 2. Re: JBoss Profiler 2
            Clebert Suconic Master

            It's a brand new development.. everything is new...

            I believe we could integrate some of the new front-end done by Takuro with this. It will require some work.

            It would help if we could have the profiler converted to SVN. I have already requested IT long time ago.

            • 3. Re: JBoss Profiler 2
              Jesper Pedersen Master

              One plan could be:

              1) Migrate existing CVS to SVN
              2) Branch current profiler to Branch_1_0
              3) Import PoC on trunk
              4) Create JIRA version
              5) Convert build environment to JBoss style
              6) Release PoC version to repository.jboss.com
              7) Create design / end-user documentation on wiki
              8) Create standalone release on labs.jboss.com (optional)
              9) Get feedback from jboss-development@
              10) Identify tasks for a release that matches JBossAS-5.0.GA - especially integration
              11) Code - test - repeat
              12) Release GA version

              I think that the most important tasks are to get the agent feature complete and make the integration to the administration console as easy as possible.

              This means that the Seam 2.0 web client - or the existing Flash client - have a lower priority when compared to the JBossAS-5.0.GA release. But lets see if time doesn't permit a GUI release within the time frame.

              • 4. Re: JBoss Profiler 2
                Scott Stark Master

                Is the an open issue for the svn migration Clebert?

                • 6. Re: JBoss Profiler 2
                  Scott Stark Master

                  How important is it to have the project history in svn vs having to go into fisheye/cvs to get this? If its not we can just get the svn repo created and manually add the source from a current cvs checkout.

                  • 7. Re: JBoss Profiler 2
                    Jesper Pedersen Master

                    The suite is now being tracked at


                    with both binary and source releases.

                    See README.txt for further details.

                    • 8. Re: JBoss Profiler 2
                      Jorge Morales Master

                      Hi, I am trying this JBoss Profiler with a clean JBoss4.2.2 installation on a linux box and I get this error:

                      Error opening zip file: jboss-profiler.jar
                      Error occurred during initialization of VM
                      agent library failed to init: instrument

                      ¡Help appreciated!

                      My linux box is running:
                      java version "1.5.0_13"
                      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05)
                      Java HotSpot(TM) Server VM (build 1.5.0_13-b05, mixed mode)

                      And it is a:
                      Linux santander 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux

                      • 9. Re: JBoss Profiler 2
                        Jesper Pedersen Master

                        Since you posted in this thread I'll assume that you are using 2.0.CR7.

                        JBoss-4.2.2.GA and JDK-1.5.0_13 is supported by the 2.0.CR7 release.

                        It seems that something went wrong either in the download or the unpacking of the ZIP file. Try to download it again and post full details if the problem still is there - e.g. your JAVA_OPTS setting.

                        Make sure that "jar tf jboss-profiler.jar" doesn't show any errors - and follow the instructions in the README.txt file regarding installation inside JBossAS.

                        • 10. Re: JBoss Profiler 2
                          Jesper Pedersen Master

                          JBoss Profiler 2.0.CR8 has been released:


                          Enjoy !

                          • 11. Re: JBoss Profiler 2
                            Ioannis Mavroukakis Newbie

                            Hi :-)

                            I am using Profiler 2 CR8. What I want to achieve is to profile some services that I have that are starting very slowly when the server is booted. This is how I've setup jboss-4.0.2

                            under bin/


                            JAVA_OPTS="$JAVA_OPTS -javaagent:jboss-profiler.jar -Djboss-profiler.properties=jboss-profiler.properties"


                            My question is, if the profiler has been setup with startup=yes, does this mean it will start recording data when the server begins to bootup? If that's the case, what are the next steps I need to take once the classes I am interested in have been profiled? I assume I need to stop the profiler and take a snapshot?

                            Thank you,


                            • 12. Re: JBoss Profiler 2
                              Ioannis Mavroukakis Newbie

                              Forgot to mention I am running jboss under JDK 1.6

                              • 13. Re: JBoss Profiler 2
                                Jesper Pedersen Master

                                First of all: You need asm.jar in bin/ also.

                                Second: You should use JDK-1.5 instead, since JDK-1.6 isn't officially supported in AS-4.0.x

                                Third: JBoss Profiler 2 was designed to be used together with AS-4.2 and AS-5.0.


                                When you are done - after startup f.ex - just issue:

                                Client stopProfiler
                                Client getSnapshot 1
                                Client load file.jps

                                See README.txt for details...

                                Otherwise you are good to go :)

                                Hope this helps !

                                • 14. Re: JBoss Profiler 2
                                  Ioannis Mavroukakis Newbie

                                  hehehe ok asm.jar is in bin, but it's the one we use not the one supplied with the profiler, as it has some issues with the stuff that we run. I hope I can use 1.5 instead of 1.6 as there's some bits of 1.6 that we do use..

                                  For your 3rd point, is there a "recommended" profiler for 4.0.2 ?

                                  Thank you for taking the time :-) :-)

                                  1 2 3 4 Previous Next