Github user franz1981 commented on a diff in the pull request:

    https://github.com/apache/activemq-artemis/pull/2206#discussion_r206849644
  
    --- Diff: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/impl/BridgeImpl.java
 ---
    @@ -609,6 +612,7 @@ public HandleStatus handle(final MessageReference ref) 
throws Exception {
              final Message message = beforeForward(ref.getMessage(), dest);
     
              pendingAcks.countUp();
    +         metrics.incrementEnqueueCount();
    --- End diff --
    
    I haven't had the chance to explain that in other PRs related to metrics 
collection: if these metrics are getting updated from a single thread/writer, 
instead of using `AtomicLong::incrementAndGet` can be used 
`AtomicLong::lazySet(AtomicLong::get() + delta)` from the pov of metrics 
collections it will be a lot less expensive.
    It shouldn't be visible in our tests on laptop HW but with real servers, 
especially with NUMA (and multi socket) configuration.
    I don't know if it's the case, but given that it cost very little to change 
that, I suggest to do it right where is possible to do it.


---

Reply via email to