Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-11585

camel-spring-boot - Allow to reset route statistics via actuator

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.20.0
    • Component/s: camel-spring-boot
    • Labels:
      None
    • Estimated Complexity:
      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;

        Attachments

          Activity

            People

            • Assignee:
              vrlgohel Viral Gohel
              Reporter:
              davsclaus Claus Ibsen
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: