[jboss-jira] [JBoss JIRA] (WFLY-5293) EJB3 method invocation statistics exposed incorrectly through JMX
Kabir Khan (JIRA)
issues at jboss.org
Fri Sep 11 06:05:00 EDT 2015
[ https://issues.jboss.org/browse/WFLY-5293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13107794#comment-13107794 ]
Kabir Khan commented on WFLY-5293:
----------------------------------
The JMX layer just wraps what is in the real model and translates that. Putting a breakpoint at https://github.com/wildfly/wildfly/blob/master/testsuite/integration/basic/src/test/java/org/jboss/as/test/integration/ejb/async/AsyncMethodTestCase.java#L210 so that I have some ejbs deployed, I see the following from the CLI
{code}
[standalone at localhost:9990 /] /deployment=AsyncTestCase.jar/subsystem=ejb3:read-resource(recursive=true,include-runtime=true)
{
"outcome" => "success",
"result" => {
"entity-bean" => undefined,
"message-driven-bean" => undefined,
"singleton-bean" => {
"AsyncSingleton" => {
"component-class-name" => "AsyncSingleton",
"declared-roles" => [],
"execution-time" => 0L,
"invocations" => 0L,
"methods" => {},
"peak-concurrent-invocations" => 0L,
"run-as-role" => undefined,
"security-domain" => "other",
"timers" => [],
"wait-time" => 0L,
"service" => undefined
},
"AsyncBeanSynchronizeSingleton" => {
"component-class-name" => "AsyncBeanSynchronizeSingleton",
"declared-roles" => [],
"execution-time" => 0L,
"invocations" => 0L,
"methods" => {},
"peak-concurrent-invocations" => 0L,
"run-as-role" => undefined,
"security-domain" => "other",
"timers" => [],
"wait-time" => 0L,
"service" => undefined
}
},
"stateful-session-bean" => {"AsyncStateful" => {
"cache-size" => 2,
"component-class-name" => "AsyncStateful",
"declared-roles" => [],
"execution-time" => 0L,
"invocations" => 0L,
"methods" => {},
"passivated-count" => 0,
"peak-concurrent-invocations" => 0L,
"run-as-role" => undefined,
"security-domain" => "other",
"total-size" => 2,
"wait-time" => 0L,
"service" => undefined
}},
"stateless-session-bean" => {
"AsyncBeanRemote" => {
"component-class-name" => "AsyncBeanRemote",
"declared-roles" => [],
"execution-time" => 0L,
"invocations" => 0L,
"methods" => {},
"peak-concurrent-invocations" => 0L,
"pool-available-count" => undefined,
"pool-create-count" => undefined,
"pool-current-size" => undefined,
"pool-max-size" => undefined,
"pool-name" => undefined,
"pool-remove-count" => undefined,
"run-as-role" => undefined,
"security-domain" => "other",
"timers" => [],
"wait-time" => 0L,
"service" => undefined
},
"AsyncChildBean" => {
"component-class-name" => "AsyncChildBean",
"declared-roles" => [],
"execution-time" => 0L,
"invocations" => 0L,
"methods" => {},
"peak-concurrent-invocations" => 0L,
"pool-available-count" => undefined,
"pool-create-count" => undefined,
"pool-current-size" => undefined,
"pool-max-size" => undefined,
"pool-name" => undefined,
"pool-remove-count" => undefined,
"run-as-role" => undefined,
"security-domain" => "other",
"timers" => [],
"wait-time" => 0L,
"service" => undefined
},
"AsyncBeanDescriptor" => {
"component-class-name" => "AsyncBeanDescriptor",
"declared-roles" => [],
"execution-time" => 0L,
"invocations" => 0L,
"methods" => {},
"peak-concurrent-invocations" => 0L,
"pool-available-count" => undefined,
"pool-create-count" => undefined,
"pool-current-size" => undefined,
"pool-max-size" => undefined,
"pool-name" => undefined,
"pool-remove-count" => undefined,
"run-as-role" => undefined,
"security-domain" => "other",
"timers" => [],
"wait-time" => 0L,
"service" => undefined
},
"AsyncBean" => {
"component-class-name" => "AsyncBean",
"declared-roles" => [],
"execution-time" => 0L,
"invocations" => 0L,
"methods" => {},
"peak-concurrent-invocations" => 0L,
"pool-available-count" => undefined,
"pool-create-count" => undefined,
"pool-current-size" => undefined,
"pool-max-size" => undefined,
"pool-name" => undefined,
"pool-remove-count" => undefined,
"run-as-role" => undefined,
"security-domain" => "other",
"timers" => [],
"wait-time" => 0L,
"service" => undefined
}
}
}
}
{code}
I am not familiar with what should be returned, but I think it looks like the returned metrics are not populated. Can you please confirm, and I will reassign to someone who can fix this.
> EJB3 method invocation statistics exposed incorrectly through JMX
> -----------------------------------------------------------------
>
> Key: WFLY-5293
> URL: https://issues.jboss.org/browse/WFLY-5293
> Project: WildFly
> Issue Type: Bug
> Components: JMX
> Affects Versions: 9.0.1.Final
> Reporter: Arto Huusko
> Assignee: Kabir Khan
>
> EJB3 method invocation statistics, that is the "methods" attribute in an EJB3 session JMX object is exposed as CompositeDataSupport object that has the expected keys ("execution-time", and so on), but
> - the values for the keys are always null
> - there is only a single CompositeDataSupport object even when the session has several methods
> - the method name is not available.
> Possibly the invocation statistics should be exposed as an array of CompositeDataSupport objects where one of the keys is the method name.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list