Github user ptgoetz commented on the issue:

    https://github.com/apache/storm/pull/2203
  
    Crude test, but illustrates the cost of meters:
    (code marks a meter | increments a counter from 0 to `Integer.MAX`)
    ```
    *** METER ***
    Time: 126.39
    ops/sec: 16,990,930
    *** COUNTER ***
    Time: 18.221
    ops/sec: 117,857,617
    ```
    
    The obvious path would be to switch critical path metrics to use counters. 
But I'd ultimately err on the side of user choice (e.g. let users decide which 
to use). That could be made configurable. I can imagine use cases where users 
would be willing to take a minor performance hit for more performance metrics 
(e.g. "sleepy" topologies). The performance hit could be tolerable in certain 
situations.
    
    For the time being, I'll switch some of the metrics to counters, and re-run.


---

Reply via email to