[ https://issues.apache.org/jira/browse/CXF-5016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Freeman Fang reassigned CXF-5016: --------------------------------- Assignee: Freeman Fang > 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 > Assignee: Freeman Fang > 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