It's all about the answers!

Ask a question

Performance Monitoring: Arm and Jazz


Christophe Elek (2.9k12921) | asked Sep 10 '07, 6:29 a.m.
JAZZ DEVELOPER
Matt started a nice Wiki page to enable/setup ARM monitoring of Jazz server
https://jazz.net/wiki/bin/view/Main/EnablingArmMonitoring

I decided to use a light version of ARM monitoring before testing the full
ITCAM solution.

I found the following page about using Eclipse TPTP to trace ARM info:
http://help.eclipse.org/help33/index.jsp?
topic=/org.eclipse.tptp.trace.arm.doc.user/topics/arm_analysis.htm

So far, no success but I will use this thread to log my findings :) Feel
free to comment :)

--
Christophe Elek
Serviceability Architect
IBM Software Group - Rational

7 answers



permanent link
Christophe Elek (2.9k12921) | answered Sep 11 '07, 5:41 a.m.
JAZZ DEVELOPER
hufnagl@de.ibm-dot-com.no-spam.invalid (shufnagl) wrote in news:fc5rp0$m54
$2@localhost.localdomain:

Hi,

could we also use ARM to look behind the scene? (Call Graph etc.)

Could you elaborate ? :) What do you want to achieve ? :)

--
Christophe Elek
Serviceability Architect
IBM Software Group - Rational

permanent link
Christophe Elek (2.9k12921) | answered Sep 11 '07, 5:45 a.m.
JAZZ DEVELOPER
I managed to install the JAR files in Tomcat.
It seems anything is running but I cannot see the Monitor Agent.
The TPTP team is telling me the agent will show up when the first ARM
call is made.
So I pinged Matt L in Jazz to see if any ARM call is made. Either no call
is made or I setup my configuration improperly

Here is what I did

1) I downloaded Eclipse 3.3, EMF and the whole TPTP code
2) I downloaded BTM runtime
3) I downloaded the Agent COntroller from TPTP
4) I modified my serverStartup as follow

rem --- START - SUPPORT FOR BtM
------------------------------------------------------
set OLD_PATH=%PATH%
set OLD_CLASSPATH=%CLASSPATH%
set ARM_LOCATION=C:/TPTP44/ARMLIB/
set RAC_LOCATION=C:/TPTP44/RAC/bin
set PATH= %RAC_LOCATION%;%PATH%
set JAVA_OPTS=%JAVA_OPTS% -XrunpiAgent:server=enabled
set JAVA_OPTS=%JAVA_OPTS% -Dlog.fileHandler=java.util.logging.FileHandler
-Dlog.formatter=org.eclipse.hyades.logging.java.XmlFormatter -
Dlog.pattern=%ARM_LOCATION%ARM.log -Dlog.btm.severity=INFO
set JAVA_OPTS=%JAVA_OPTS% -
Dorg.omg.PortableInterceptor.ORBInitializerClass.org.eclipse.tptp.trace.a
rm.internal.model.iiop.ArmRequestInterceptor
set JAVA_OPTS=%JAVA_OPTS% -Dac.library.path=%RAC_LOCATION%
set JAVA_OPTS=%JAVA_OPTS% -
DArm40.ArmTransactionFactory=org.eclipse.tptp.trace.arm.internal.transact
ion.ArmTransactionFactoryImpl
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -
Dcom.sun.management.jmxremote.port=53284 -
Dcom.sun.management.jmxremote.ssl=false -
Dcom.sun.management.jmxremote.authenticate=false
set JAVA_OPTS=%JAVA_OPTS% -Darm.library.path=%ARM_LOCATION%
set CLASSPATH=%ARM_LOCATION%armProbes.jar;%ARM_LOCATION%armLoader.jar;%
CLASSPATH%
rem --- END - SUPPORT FOR BtM
------------------------------------------------------

call "%CATALINA_HOME%"\bin\startup.bat

set "JAVA_HOME=%OLD_JAVA_HOME%"
set OLD_JAVA_HOME=
set JRE_HOME=
set CATALINA_HOME=
set CATALINA_OPTS=
set JAVA_OPTS=

rem --- START - SUPPORT FOR BtM
------------------------------------------------------
set PATH=%OLD_PATH%
set CLASSPATH=%OLD_CLASSPATH%
set OLD_PATH=
rem --- END - SUPPORT FOR BtM
------------------------------------------------------


RAC_LOCATION is the Agent Controller directory.
ARM_LOCATION comes from the BTM Runtime Library and points to the JAR
files


--
Christophe Elek
Serviceability Architect
IBM Software Group - Rational

permanent link
Stefan Hufnagl (29411819) | answered Sep 11 '07, 6:42 a.m.
Hi,

could we also use ARM to look behind the scene? (Call Graph etc.)

Thanks
StH

permanent link
Christophe Elek (2.9k12921) | answered Sep 11 '07, 11:16 a.m.
JAZZ DEVELOPER
David Brauneis <brauneis@us.ibm.com> wrote in
news:46E6BEB0.1000205@us.ibm.com:

If you use WebSphere Application Server (instead of Tomcat), you could
use the Request Metrics functionality in WebSphere to provide the ARM
data.

Regards,
David Brauneis

David Correct, I was not specific/complete enough, sorry about that :)

Matt explained how to enable ITCAM Monitoring in Tomcat
https://jazz.net/wiki/bin/view/Main/EnablingArmMonitoring

Link to enable ARM monitoring in WebSphere
http://www.ibm.com/developerworks/tivoli/library/t-armtcamrtt/index.html

--
Christophe Elek
Serviceability Architect
IBM Software Group - Rational

permanent link
David Brauneis (50611) | answered Sep 11 '07, 12:13 p.m.
JAZZ DEVELOPER
If you use WebSphere Application Server (instead of Tomcat), you could
use the Request Metrics functionality in WebSphere to provide the ARM data.

Regards,
David Brauneis
IBM Rational Build Forge Architecture & Development


Christophe Elek wrote:
I managed to install the JAR files in Tomcat.
It seems anything is running but I cannot see the Monitor Agent.
The TPTP team is telling me the agent will show up when the first ARM
call is made.
So I pinged Matt L in Jazz to see if any ARM call is made. Either no call
is made or I setup my configuration improperly

Here is what I did

1) I downloaded Eclipse 3.3, EMF and the whole TPTP code
2) I downloaded BTM runtime
3) I downloaded the Agent COntroller from TPTP
4) I modified my serverStartup as follow

rem --- START - SUPPORT FOR BtM
------------------------------------------------------
set OLD_PATH=%PATH%
set OLD_CLASSPATH=%CLASSPATH%
set ARM_LOCATION=C:/TPTP44/ARMLIB/
set RAC_LOCATION=C:/TPTP44/RAC/bin
set PATH= %RAC_LOCATION%;%PATH%
set JAVA_OPTS=%JAVA_OPTS% -XrunpiAgent:server=enabled
set JAVA_OPTS=%JAVA_OPTS% -Dlog.fileHandler=java.util.logging.FileHandler
-Dlog.formatter=org.eclipse.hyades.logging.java.XmlFormatter -
Dlog.pattern=%ARM_LOCATION%ARM.log -Dlog.btm.severity=INFO
set JAVA_OPTS=%JAVA_OPTS% -
Dorg.omg.PortableInterceptor.ORBInitializerClass.org.eclipse.tptp.trace.a
rm.internal.model.iiop.ArmRequestInterceptor
set JAVA_OPTS=%JAVA_OPTS% -Dac.library.path=%RAC_LOCATION%
set JAVA_OPTS=%JAVA_OPTS% -
DArm40.ArmTransactionFactory=org.eclipse.tptp.trace.arm.internal.transact
ion.ArmTransactionFactoryImpl
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote -
Dcom.sun.management.jmxremote.port=53284 -
Dcom.sun.management.jmxremote.ssl=false -
Dcom.sun.management.jmxremote.authenticate=false
set JAVA_OPTS=%JAVA_OPTS% -Darm.library.path=%ARM_LOCATION%
set CLASSPATH=%ARM_LOCATION%armProbes.jar;%ARM_LOCATION%armLoader.jar;%
CLASSPATH%
rem --- END - SUPPORT FOR BtM
------------------------------------------------------

call "%CATALINA_HOME%"\bin\startup.bat

set "JAVA_HOME=%OLD_JAVA_HOME%"
set OLD_JAVA_HOME=
set JRE_HOME=
set CATALINA_HOME=
set CATALINA_OPTS=
set JAVA_OPTS=

rem --- START - SUPPORT FOR BtM
------------------------------------------------------
set PATH=%OLD_PATH%
set CLASSPATH=%OLD_CLASSPATH%
set OLD_PATH=
rem --- END - SUPPORT FOR BtM
------------------------------------------------------


RAC_LOCATION is the Agent Controller directory.
ARM_LOCATION comes from the BTM Runtime Library and points to the JAR
files



permanent link
Christophe Elek (2.9k12921) | answered Sep 14 '07, 8:23 a.m.
JAZZ DEVELOPER
Ok, I am progressing :)
I remotely connect to the Jazz server using Eclipse debugger (pretty neat
and pretty simple) and realized I got a NoClassDefFound error. So Ihad to
put the arm40 lib in the tomact/common/lib (I need to understand why my
classpath I setup in server.startup.bat did not work :(

I also had to make sure I had the proper property, somehow my
server.startup set a -dArm. property where I need -DArm.

Now I am getting a nullPointerException... :)

I found the ArmMonitoring start if I connect to http://locahost:9080/web
Then when I query the ARM calls are executed....

Stay tuned :)



--
Christophe Elek
Serviceability Architect
IBM Software Group - Rational

permanent link
Christophe Elek (2.9k12921) | answered Sep 14 '07, 9:54 a.m.
JAZZ DEVELOPER
I did it, I did it yeahhh.. (ala Dora the explorer)

I found the NPE was due to the fact that TPTP is checking if I was doing a
remote monitoring...

So I tricked it :)

I started the server
then I connected to http://localhost:9080/jazz to see the list of available
services
then I connected my TPTP to my Agent Controller
Et voila, I see the Instrument Collector Agent.... Because I started
monitoring before the frst call, I avoid the NPE :)


PS: the "jpda start" of catalina is also very nice to attach a remote
debugger :)


Let me know if you are interested in me elaborating...

--
Christophe Elek
Serviceability Architect
IBM Software Group - Rational

Your answer


Register or to post your answer.