Bug 1034170

Summary: EJB3 calltimes report inaccurate invocation count
Product: [JBoss] JBoss Operations Network Reporter: Libor Zoubek <lzoubek>
Component: Plugin -- JBoss EAP 6Assignee: Thomas Segismont <tsegismo>
Status: CLOSED NOTABUG QA Contact: Mike Foley <mfoley>
Severity: low Docs Contact:
Priority: unspecified    
Version: JON 3.2CC: ahovsepy, jshaughn, lkrejci, theute, tsegismo
Target Milestone: ER04   
Target Release: JON 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-19 14:48:27 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:

Description Libor Zoubek 2013-11-25 11:41:32 UTC
Description of problem:



Version-Release number of selected component (if applicable):
JON 3.2.0.ER7

How reproducible: always


Steps to Reproduce:
1. have EAP >= 6.1.1.GA
2. deploy an app containing EJBs (for example kitchensink quickstart)
3. enable statistics in ejb3 subsystem on your EAP
4. trigger EJB call on MemberManager bean (by adding a user in kitchensink app) 3 times

Actual results:

JON does not show correct results, it seems to ignore first invocation of EJB.

JON shows : register method was called 2 times

but EAP6 CLI shows: 

"methods" => {"register" => {
            "execution-time" => 126L,
            "invocations" => 3L,
            "wait-time" => 0L
        }}


Expected results: "invocations" value reported by plugin must match value shown in CLI


Additional info: This is really a minor bug, since it affects only first call, nobody will notice on production system with thousands of EJB calls.

Comment 2 Jay Shaughnessy 2014-09-05 02:58:11 UTC
It's odd, I don't see why we'd get a different value reported. Are we sure it's not per-minute we're looking at or something like that?  We should probably explain what is happening here, to ensure we don't have a more systemic issue.

Comment 4 Thomas Segismont 2014-09-19 14:48:27 UTC
I think this is by design.

EAP6 management offers cumulative invocation count, execution time and wait time. The calltime subsytem does not expect "trends up" data.

So the Ejb3BeanRuntimeComponent will store the initial data the first time #getValues is called, and then will fill CallTimeData reports looking at the differences.