Bug 875206

Summary: [iis] ResponseTime data fails to be collected due to file offset calculation issue
Product: [JBoss] JBoss Operations Network Reporter: Larry O'Leary <loleary>
Component: Plugin -- OtherAssignee: RHQ Project Maintainer <rhq-maint>
Status: CLOSED WONTFIX QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: unspecified    
Version: JON 3.1.1CC: myarboro
Target Milestone: ---   
Target Release: JON 3.1.2   
Hardware: All   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 875207 (view as bug list) Environment:
Last Closed: 2012-11-20 20:59:11 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: 875207    
Bug Blocks:    

Description Larry O'Leary 2012-11-09 19:53:32 UTC
Description of problem:
Response time metrics are not being read from the IIS VHost log file due to what appears to be a file offset issue. The agent log contains the following:

INFO  [ResourceContainer.invoker.daemon-2] (org.rhq.plugins.iis.IISResponseTimeDelegate$IISResponseTimeLogParser)- Filesize 702
INFO  [ResourceContainer.invoker.daemon-2] (org.rhq.plugins.iis.IISResponseTimeDelegate$IISResponseTimeLogParser)- Skipping 702
INFO  [ResourceContainer.invoker.daemon-2] (org.rhq.plugins.iis.IISResponseTimeDelegate$IISResponseTimeLogParser)- Results...

Which seems to indicate that previousOffset is always equal to newOffset. The result is not log information appears to be parsed.

Version-Release number of selected component (if applicable):
4.4.0.JON311GA

How reproducible:
Always

Additional info:
Details from the support engineering who did the preliminary investigation:

Checking the IISResponseTimeDelegate class again, I realized that the "parsing" was not being done because the currentLine variable is coming as "null". I think it happens due the Filesize and Skipping have the same value (as we can see in the debug messages above), then the "in" variable is set to "null" or "0" (not sure). Follow a snippet of the code: 
__________________________________________________________________

* parseLog method in IISResponseTimeDelegate class:

 log.info("Filesize " + newOffset);
 log.info("Skipping " + previousOffset);
 in.skip(IISResponseTimeDelegate.this.previousOffset);
 IISResponseTimeDelegate.this.previousOffset = newOffset;

 String currentLine;
 while ((currentLine = in.readLine()) != null) {
    LogEntry logEntry;
    log.info("Parsing line: " + currentLine);
    try {
       logEntry = parseLine(currentLine);
__________________________________________________________________

I performed another test commenting the in.skip... line, then the CallTime was collected correctly.

Comment 1 Mike Foley 2012-11-09 21:49:08 UTC
Before this gets addressed in JON ... there needs to be a discussion if this is even a JON feature ... or the iis plugin was included by mistake.

Comment 3 mark yarborough 2012-11-20 20:59:11 UTC
IIS 7.5 is not supported by plugins.