TXMBeanStats.btm Creates MBean But No Updates
nwhitehead Aug 12, 2011 4:34 PMHello;
I have this issue in Byteman 1.5.1 and the current 1.6.1 from Git trunk.
The script installs with no issue and I see the MBean created, but the values are never updated, and I know there's transactions going on, since when I look at the Arjuna Performance Statistics MBean in jmx-console, the counters are humming.
The byteman MBean does not show any activity at all.
The initialization is:
set BYTEMAN_HOME=c:\libs\java\byteman\1.6.1
........
set JAVA_OPTS=%JAVA_OPTS% -javaagent:%BYTEMAN_HOME%\lib\byteman.jar=listener:true,port:9091,address:0.0.0.0,script:%BYTEMAN_HOME%\sample\scripts/TXMBeanStats.btm,sys:%BYTEMAN_HOME%\sample\lib\byteman-sample.jar
Initially, I ran the script unmodified, but on reviewing it, it seemed the PeriodicHelper was missing, so I added in:
HELPER org.jboss.byteman.sample.helper.PeriodicHelper
RULE set period
CLASS PeriodicHelper
METHOD getPeriod()
IF TRUE
DO RETURN 10 * 1000
ENDRULE
Still no activity though. I was able to successfully unload the rule set using bmsubmit but when I reloaded the script, even the MBean won't show up.
I must be missing something. Any direction appreciated !
//Nicholas
======== Update
I turned on debug and I see activity related to the rule set, but the MBean data is still inert.
16:28:45,197 INFO main [STDOUT] Rule.execute called for count setRollbackOnly request_0
16:28:45,203 INFO main [STDOUT] org.jboss.byteman.agent.Transformer : possible trigger for rule return key info in class org.jboss.byteman.sample.helper.JMXHelper
16:28:45,204 INFO main [STDOUT] RuleTriggerMethodAdapter.injectTriggerPoint : inserting trigger into org.jboss.byteman.sample.hel
per.JMXHelper.keyInfo() org.jboss.byteman.sample.helper.KeyInfo for rule return key info
16:28:45,209 INFO main [STDOUT] org.jboss.byteman.agent.Transformer : inserted trigger for return key info in class org.jboss.byt
eman.sample.helper.JMXHelper
16:28:45,219 INFO main [STDOUT] HelperManager.install for helper classorg.jboss.byteman.sample.helper.JMXHelper
16:28:45,220 INFO main [STDOUT] calling activated() for helper classorg.jboss.byteman.sample.helper.JMXHelper
16:28:45,221 INFO main [STDOUT] calling installed(count setRollbackOnly request) for helper classorg.jboss.byteman.sample.helper.
JMXHelper
16:28:45,221 INFO main [STDOUT] Installed rule using default helper : count setRollbackOnly request
16:28:45,221 INFO main [STDOUT] count setRollbackOnly request execute()
16:28:45,221 INFO Periodic Helper Thread [STDOUT] Rule.execute called for return key info_3
16:28:45,226 INFO Periodic Helper Thread [STDOUT] HelperManager.install for helper classorg.jboss.byteman.sample.helper.JMXHelper
16:28:45,226 INFO Periodic Helper Thread [STDOUT] calling installed(return key info) for helper classorg.jboss.byteman.sample.hel
per.JMXHelper
16:28:45,226 INFO Periodic Helper Thread [STDOUT] Installed rule using default helper : return key info
16:28:45,228 INFO Periodic Helper Thread [STDOUT] return key info execute()
16:28:45,228 INFO Periodic Helper Thread [STDOUT] caught ReturnException
16:28:45,229 INFO Periodic Helper Thread [STDOUT] Rule.execute called for return key info_3
16:28:45,229 INFO Periodic Helper Thread [STDOUT] return key info execute()
16:28:45,229 INFO Periodic Helper Thread [STDOUT] caught ReturnException
16:28:45,254 INFO main [STDOUT] Rule.execute called for count setRollbackOnly request_0
16:28:45,254 INFO main [STDOUT] count setRollbackOnly request execute()
16:28:45,258 INFO main [STDOUT] Rule.execute called for count setRollbackOnly request_0
16:28:45,259 INFO main [STDOUT] count setRollbackOnly request execute()
16:28:45,262 INFO main [STDOUT] Rule.execute called for count setRollbackOnly request_0
16:28:45,262 INFO main [STDOUT] count setRollbackOnly request execute()
16:28:45,265 INFO main [STDOUT] Rule.execute called for count setRollbackOnly request_0
16:28:45,266 INFO main [STDOUT] count setRollbackOnly request execute()
16:28:45,269 INFO main [STDOUT] Rule.execute called for count setRollbackOnly request_0
16:28:45,269 INFO main [STDOUT] count setRollbackOnly request execute()
16:28:45,273 INFO main [STDOUT] Rule.execute called for count setRollbackOnly request_0