Emmanuel FOUCHE created CXF-5016:
------------------------------------
Summary: ArithmeticException on
ResponseTimeCounterMBean.getAvgResponseTime() after counter reset()
Key: CXF-5016
URL: https://issues.apache.org/jira/browse/CXF-5016
Project: CXF
Issue Type: Bug
Components: Management
Affects Versions: 2.7.0
Reporter: Emmanuel FOUCHE
Priority: Minor
A JMX client program such as monitoring platform (Nagios plugin, HypericHQ,
...) retrieve metrics like AvgResponseTime per minute.
One way to retrieve data is to fetch value every minute and reset counter
immediately after.
However, if no calls to the service has been made since last reset, you get an
ArithmeticException "divide by zero" when calling
ResponseTimeCounterMBean.getAvgResponseTime()
I suggest handling this case by returning 0 or -1 instead, thus avoiding
exception and alarming stacktrace on the monitoring client side.
{code:title=ResponseTimeCounter.getAvgResponseTime()}
public Number getAvgResponseTime() {
if (_invocations.get() == 0) {
return -1; // avoid divide by 0;
}
return (int)(totalHandlingTime / invocations.get());
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira