[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