Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
Novice
Description
You can start/stop/suspend/resume routes etc. But it would also be nice to be able to reset the JMX statistics.
for example if you stop and start a route, then it continues with the existing JMX stats (but sometimes you want to be able to reset).
8080/camel/routes/bar/info {"id":"bar","uptimeMillis":0,"status":"Stopped","details":{"deltaProcessingTime":0,"exchangesInflight":0,"exchangesTotal":103,"externalRedeliveries":0,"failuresHandled":0,"firstExchangeCompletedExchangeId":"ID-davsclaus-pro-local-1500797880917-0-1","firstExchangeCompletedTimestamp":1500797883793,"lastExchangeCompletedExchangeId":"ID-davsclaus-pro-local-1500797880917-0-205","lastExchangeCompletedTimestamp":1500798394054,"lastProcessingTime":0,"maxProcessingTime":4,"meanProcessingTime":0,"minProcessingTime":0,"redeliveries":0,"totalProcessingTime":30,"hasRouteController":false}}davsclaus:/Users/davsclaus/$ curl -XGET -s http://localhost:8080/camel/routes/bar/info^C davsclaus:/Users/davsclaus/$ ^C davsclaus:/Users/davsclaus/$ ^C davsclaus:/Users/davsclaus/$ curl -XGET -s http://localhost:8080/camel/routes/bar^C davsclaus:/Users/davsclaus/$ curl -XPOST -s http://localhost:8080/camel/routes/bar/start davsclaus:/Users/davsclaus/$ curl -XGET -s http://localhost:8080/camel/routes/bar/info {"id":"bar","uptime":"1.701 seconds","uptimeMillis":1701,"status":"Started","details":{"deltaProcessingTime":0,"exchangesInflight":0,"exchangesTotal":104,"externalRedeliveries":0,"failuresHandled":0,"firstExchangeCompletedExchangeId":"ID-davsclaus-pro-local-1500797880917-0-1","firstExchangeCompletedTimestamp":1500797883793,"lastExchangeCompletedExchangeId":"ID-davsclaus-pro-local-1500797880917-0-218","lastExchangeCompletedTimestamp":1500798449710,"lastProcessingTime":0,"maxProcessingTime":4,"meanProcessingTime":0,"minProcessingTime":0,"redeliveries":0,"totalProcessingTime":30,"hasRouteController":true}}davsclaus:/Users/davsclaus/$ curl -XGET -s http://localhost:8080/camel/routes/bar/info
So we need a reset command
curl -XPOST -s http://localhost:8080/camel/routes/bar/reset
That just calls the JMX reset operation on the route mbean. It should also reset the processors, eg call this with true
@ManagedOperation(description = "Reset counters")
void reset(boolean includeProcessors) throws Exception;