[jboss-dev-forums] [Design of JBoss Profiler] - JBoss Profiler 2

jesper.pedersen do-not-reply at jboss.com
Thu Aug 9 02:59:22 EDT 2007


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.

Overview:

  |  * 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.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4072334#4072334

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4072334



More information about the jboss-dev-forums mailing list