[Design of JBoss Profiler] - JBoss Profiler 2 in JBoss AS 4.2.2 - Does not gather any sta
by justinwalsh
Hi,
I'm running JBoss profiler version 2 in JBoss 4.2.2. I have followed the instructions in the README.txt verbatim, but cannot get it to 'log' any method calls.
My setup is as follows:
- Windows XP machine
- Compiled JBoss Profiler version 2 from svn (at version 423) using the build file - resulted in dist dir from which all artefacts are taken
- Copied jboss-profiler.jar to JBOSS_HOME/bin
- Copied jboss-profiler.properties to JBOSS_HOME/bin
- Copied jboss-profiler-plugins.jar to JBOSS_HOME/bin
- Copied jboss-profiler.sar to JBOSS_HOME/server/default/deploy
- Edited run.bat to include the following line:
set JAVA_OPTS=%JAVA_OPTS% -javaagent:jboss-profiler.jar -Djboss-profiler.properties=jboss-profiler.properties
My jboss-profiler.properties file looks as follows:
| core=javassist
| enable=yes
| cpu=yes
| memory=yes
| includes=com.sadalbari.demo.ejb3.*
| excludes=*
| visibility=private
| save=yes
| startup=yes
| repository=no
| remote=yes
| store=memory
| location=.
| host=localhost
| port=5400
| ejb=yes
| servlet=yes
| jsf=yes
| jmx=yes
| rmi=yes
| corba=yes
| plugin.1=org.jboss.profiler.plugins.Hibernate
|
I then boot jboss. I notice the following lines on the console which indicate to me that I have configured 'correctly':
| D:\servers\jboss\jboss-4.2.2.GA\bin>run -b 127.0.0.1
| ===============================================================================
|
| JBoss Bootstrap Environment
|
| JBOSS_HOME: D:\servers\jboss\jboss-4.2.2.GA
|
| JAVA: C:\dev\java\jdk1.5.0_14\bin\java
|
| JAVA_OPTS: -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n -Dprogram.name=run.bat -server -Dsun.rmi.dgc.c
| lient.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dewage.configuration-name=justin -Dorg.apache.tapestry.disable-c
| aching=true -Xms64m -Xmx256m -XX:MaxPermSize=128m -javaagent:jboss-profiler.jar -Djboss-profiler.properties=jboss-profiler.propert
| ies
|
| CLASSPATH: C:\dev\java\jdk1.5.0_14\lib\tools.jar;D:\servers\jboss\jboss-4.2.2.GA\bin\run.jar
|
| ===============================================================================
|
| JBoss Profiler 2.0.CR9 (Sun Microsystems Inc. 1.5.0_14)
| JBoss Profiler depends on external communication module
| Listening for transport dt_socket at address: 8787
| 21:38:08,187 INFO [Server] Starting JBoss (MX MicroKernel)...
| ...
| ...
|
etc etc
There are no errors in my log file.
I also have a simple EJB3 session bean which I wish to profile, which starts up correctly. The bean implementation class is in the package com.sadalbari.demo.ejb3
I then invoke my bean a number of times from a test client. The bean creates 1000 instances of a POJO class, SomeClass (in the same package) during its invocation.
I then shutdown the server (shutdown.bat -S), at which point the server exits gracefully leaving my with a timestamped .jps file
I then run the command:
java -Xmx512m -Djboss-profiler-client.properties=jboss-profiler-client.properties -jar jboss-profiler-client.jar load <file-name>.jps
on the file, which produces a directory.
A directory with the timestamped name is created containing the files:
classes.txt
hotspots.txt
methods.txt
overview.txt
and two directories:
classes
threads
The classed directory contains 2 files:
com.sadalbari.demo.ejb3.EJB3SessionBean.txt
com.sadalbari.demo.ejb3.SomeClass.txt
None of these files contain any evidence of a method invocation/thread usage. For example, overview.txt:
| From: 17 April 2008 21:38:07:875
| To : 17 April 2008 21:44:02:812
|
| Threads:
| ========
|
| Most time:
| ==========
| Count Ms % Method
|
| Hotspots:
| =========
| Count Ms Avg % Method
|
| Classes:
| ========
| com.sadalbari.demo.ejb3.EJB3SessionBean EJB_SESSION 0.00 ms
| com.sadalbari.demo.ejb3.SomeClass POJO 0.00 ms
|
com.sadalbari.demo.ejb3.SomeClass.txt is as follows:
| com.sadalbari.demo.ejb3.SomeClass POJO
| Total time: 0.00 ms
| Wait time: 0.00 ms
|
| Methods:
| ========
| Count Ms % (C) % (T) Method
|
| Hotspots:
| =========
| Count Ms Avg % Method
|
I've done a bit of digging/messing and my feeling is that there is something wrong with the MANIFEST of the jboss-profiler.jar file.
This file contains the following entry (on one line)
Boot-Class-Path: jboss-profiler.jar jboss-profiler-connectors.jar jboss-profiler-plugins.jar asm.jar javassist.jar ../lib/javassist.jar jboss-remoting.jar jboss-common.jar concurrent.jar log4j.jar
o Very few of these jars are resolveable from the location in which the startup script is inited (JBOSS_HOME/bin).
o A number of them don't even exist in jboss (for example jboss-profiler-connectors.jar which _is_ part of the profiler build, but was not mentioned in any setup step)
o Why is asm.jar repeated?
I tried cleaning up as far as possible and pointing to the jars in the jboss installation. As I went along I got a number of NoClassDefFoundError exceptions, which I resolved by adding the jars to the Boot-Class-Path. For example, when I resolved the jboss-remoting.jar correctly (I actually just copied the jar to the bin directory), I got
Caused by: java.lang.NoClassDefFoundError: org/jboss/mx/util/JBossNotificationBroadcasterSupport
at org.jboss.remoting.network.NetworkRegistry.(NetworkRegistry.java:55)
Eventually I got to a point where I got a NPE in the JBoss boot sequence.
Has anybody got the profiler working properly with JBoss 4.2.2? Any help would be appreciated.
----
BTW - there is also an error in /JBossProfiler2/src/etc/jboss-service.xml:
false
is repeated twice, once with true, the second time with the value false
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4144989#4144989
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4144989
16 years, 7 months
[Javassist development Forum] - Re: Is Java 6 completely supported?
by bblfish
I just discovered a similar problem. Someone wanted to recompile javassist code compile with java 6.
[sommer] INFO: type=java.util.Collection
| [sommer] java.lang.ArrayIndexOutOfBoundsException: 3
| [sommer] at javassist.bytecode.ByteArray.write16bit(ByteArray.java:40)
| [sommer] at javassist.bytecode.StackMapTable$Shifter.update(StackMapTable
| .java:744)
| [sommer] at javassist.bytecode.StackMapTable$Shifter.sameFrame(StackMapTa
| ble.java:720)
| [sommer] at javassist.bytecode.StackMapTable$Walker.stackMapFrames(StackM
| apTable.java:194)
| [sommer] at javassist.bytecode.StackMapTable$Walker.parse(StackMapTable.j
| ava:179)
| [sommer] at javassist.bytecode.StackMapTable$Shifter.doit(StackMapTable.j
| ava:714)
| [sommer] at javassist.bytecode.StackMapTable.shiftPc(StackMapTable.java:6
| 93)
| [sommer] at javassist.bytecode.CodeIterator.insertGap0(CodeIterator.java:
| 676)
| [sommer] at javassist.bytecode.CodeIterator.insertGap(CodeIterator.java:6
| 36)
| [sommer] at javassist.bytecode.CodeIterator.insertGapCore(CodeIterator.ja
| va:467)
| [sommer] at javassist.bytecode.CodeIterator.insertGap(CodeIterator.java:4
| 13)
| [sommer] at javassist.expr.Expr.replace0(Expr.java:298)
| [sommer] at javassist.expr.FieldAccess.replace(FieldAccess.java:213)
| [sommer] at net.java.rdf.sommer.SommerEditor.edit(JavassistClassRewriter.
| java:775)
| [sommer] at javassist.expr.ExprEditor.loopBody(ExprEditor.java:197)
| [sommer] at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
| [sommer] at javassist.CtClassType.instrument(CtClassType.java:1289)
| [sommer] at net.java.rdf.sommer.JavassistClassRewriter.transformFiles(Jav
| assistClassRewriter.java:277)
this is from the https://sommer.dev.java.net project
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4144970#4144970
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4144970
16 years, 7 months