[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