Bug 911117

Summary: EJB3 deployment metrics missing
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Carlo de Wolf <cdewolf>
Component: EJBAssignee: Chao Wang <chaowan>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: high    
Version: 6.0.1CC: brian.stansberry, chaowan, dandread, jdoyle, jmartisk, lkrejci, loleary, myarboro, rdickens, rsvoboda, smumford
Target Milestone: ER3   
Target Release: EAP 6.1.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
A number of Stateful and Stateless bean metrics that were exposed Red Hat JBoss Enterprise Application Platform 5 but not in previous verions of Red Hat JBoss Enterprise Application Platform 6 have been reintroduced in this release of the product. The metrics now exposed through the +read-resource+ command include: * cache-size * component-class-name * declared-roles * execution-time * invocations * methods * passivated-count * peak-concurrent-invocations * run-as-role * security-domain * total-size * wait-time
Story Points: ---
Clone Of:
: 917129 (view as bug list) Environment:
Last Closed: 2013-09-16 20:22:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 913672, 917129, 998645    
Attachments:
Description Flags
Perfomance UI drawing none

Description Carlo de Wolf 2013-02-14 12:32:16 UTC
The following metrics are missing from AS7 EJB3 subsystem from deployment when compared to AS5 exposed metrics:

Stateless Session Bean
Method Invocation Time - The minimum, maximum, and average invocation times for each of the methods exposed by this EJB

Stateful Session Bean
Method Invocation Time - The minimum, maximum, and average invocation times for each of the methods exposed by this EJB
Cache Size - Cache Size
Passivated Count - Passivated Count
Total Size - Total Size

Comment 1 John Doyle 2013-02-14 15:01:24 UTC
pm-ack assuming it does not impact the scheudle.  Otherwise no.

Comment 2 Rostislav Svoboda 2013-02-15 07:40:01 UTC
Will be this change available only by using management APIs [1] or are there plans to include these metrics in GWT based WebUI? 

[1] CLI, HTTP API, JAVA API

Comment 3 Carlo de Wolf 2013-02-15 08:42:39 UTC
For the console a separate issue must be created.

Comment 4 Brian Stansberry 2013-03-02 14:25:51 UTC
If Carlo's patch I just merged into upstream master goes into EAP, a commit bumping the minor or micro version of the EJB subsystem management API *must* be included. That wasn't necessary with the upstream patch because an earlier patch had already bumped the AS 8 subsystem's major version.

The management API versions in the 7.2.0 tag are fixed, so any post-tag changes in EAP require a management API version bump.

Comment 5 Carlo de Wolf 2013-03-06 13:26:01 UTC
https://github.com/jbossas/jboss-eap/pull/28

Comment 6 Jan Martiska 2013-04-03 12:49:59 UTC
Hi Carlo, I see that the changes are present in 6.1.0.ER4, but I only see method invocation metrics - execution time, invocation count and waiting time for each method. Nothing like cache size, passivated count, min/max invocation times, etc., as you specified in the first comment. Are you planning to add these? I am setting this to VERIFIED for now, so this should be considered just a reminder|question|whatever. Should you plan to add the mentioned metrics, feel free to reopen it. Thanks

Comment 7 Larry O'Leary 2013-04-19 18:30:55 UTC
I am not sure why this is marked VERIFIED. If the missing metrics are still missing then doesn't that mean we may have missed something?

Carlo, can you please let us know where we should be looking for these metrics as it related to comment 6?

Comment 8 Carlo de Wolf 2013-04-23 16:59:41 UTC
We are still missing the cache statistics. These were never ported over from the deprecated StatefulCache interface.

As for the other ones, they don't make sense.

The statistics are meant to be used in a round-robin database. Where the RRD dictates the interval. So for EAP the interval should be an external variable.

In EAP 5 you could reset the statistics, but the time-series between last query and reset would be lost. Essentially it is a very crude hammer to notify EAP of the interval.
This also makes it an unstable piece of EJB3 code.

I choose to ditch that, which makes min, max and average non-existent. There is no interval known to EAP. This makes for stable data point queries.

Ultimately I still want to be able to have a performance ui as I drafted ~4 years ago, wherein the pressure on each EJB is properly visualized.
I'm not sure whether it needs a re-introduction of the interval notion.
It would need some additional means to provide data points to the histogram though.

Comment 9 Carlo de Wolf 2013-04-23 17:00:20 UTC
Created attachment 739089 [details]
Perfomance UI drawing

Comment 12 JBoss JIRA Server 2013-07-04 01:55:10 UTC
Chao Wang <chaowan> updated the status of jira WFLY-1590 to Resolved

Comment 13 JBoss JIRA Server 2013-07-04 01:55:10 UTC
Chao Wang <chaowan> made a comment on jira WFLY-1590

merged Pull Request at https://github.com/wildfly/wildfly/pull/4701

Comment 15 Jan Martiska 2013-07-24 11:03:54 UTC
@Larry,
the new metrics are available in EAP 6.1.1.ER3. I briefly checked them and they seem to work fine. Can you have a look and tell if you are satisfied? 
If yes, we will mark this as VERIFIED.
Thanks

Comment 16 Larry O'Leary 2013-07-30 00:50:03 UTC
@Jan
Looks like everything is there (of course this was a stateful-session-bean): 

/deployment=jboss-as-ejb-in-war.war/subsystem=ejb3/stateful-session-bean=GreeterEJB:read-resource(include-runtime=true)
{
    "outcome" => "success",
    "result" => {
        "cache-size" => 1,
        "component-class-name" => "GreeterEJB",
        "declared-roles" => [],
        "execution-time" => 1L,
        "invocations" => 7L,
        "methods" => {"sayHello" => {
            "execution-time" => 1L,
            "invocations" => 7L,
            "wait-time" => 0L
        }},
        "passivated-count" => 0,
        "peak-concurrent-invocations" => 1L,
        "run-as-role" => undefined,
        "security-domain" => "other",
        "total-size" => 1,
        "wait-time" => 0L
    }
}

Comment 17 Jan Martiska 2013-07-30 06:54:37 UTC
Verified in EAP 6.1.1.ER3

Comment 18 Scott Mumford 2013-08-21 05:28:04 UTC
I've added a draft release note text to this bug for possible inclusion in the 6.1.1 Release Notes document.

Please review for accuracy and comment on any problems.

Comment 19 Scott Mumford 2013-08-29 02:36:00 UTC
Marking for exclusion from the 6.1.1 Release Notes document as an entry for this bug could not be completed or verified in time.