https://issues.apache.org/bugzilla/show_bug.cgi?id=46889
Summary: Monitor thread busy is incorrect when server has more
than one connector.
Product: JMeter
Version: 2.3.2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Main
AssignedTo: [email protected]
ReportedBy: [email protected]
Monitor Results reports erroneous thread load when application server has more
thant one connector, because method calculateThreadLoad(Status stat) in class
org.apache.jmeter.monitor.util.Stats retrieves thread usage only for the first
connector in the server status XML file.
For example, if the first connector in the file happens to be a seldom used one
(e.g. a HTTPS port), thread load is reported as 0% when in fact the real thread
usage for the main (HTTP) connector may be heavy.
Method calculateThreadLoad should be changed to add the values for all
connectors before calculating the load, for example:
public static int calculateThreadLoad(Status stat) {
int max = 0;
int current = 0;
int load = 0;
if (stat != null && stat.getConnector().size() > 0) {
Connector cntr = null;
for(Iterator it = stat.getConnector().iterator(); it.hasNext();) {
cntr = (Connector)it.next();
max += cntr.getThreadInfo().getMaxThreads();
current += cntr.getThreadInfo().getCurrentThreadsBusy();
}
load = (int) (((double)current / (double)max) * 100);
}
return load;
}
Better yet: Monitor Results definition panel could provide a "Connector to
monitor for thread usage" input field to input a specific connector name,
defaulting to "All" (and thus to the code above), or maybe it could be
specifyed as a jmeter property?
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]