Class LongAdderCounter

java.lang.Object
org.apache.pulsar.broker.stats.prometheus.metrics.LongAdderCounter
All Implemented Interfaces:
org.apache.bookkeeper.stats.Counter

public class LongAdderCounter extends Object implements org.apache.bookkeeper.stats.Counter
Counter implementation based on LongAdder.

LongAdder keeps a counter per-thread and then aggregates to get the result, in order to avoid contention between multiple threads.

  • Constructor Details

    • LongAdderCounter

      public LongAdderCounter()
  • Method Details

    • clear

      public void clear()
      Specified by:
      clear in interface org.apache.bookkeeper.stats.Counter
    • inc

      public void inc()
      Specified by:
      inc in interface org.apache.bookkeeper.stats.Counter
    • dec

      public void dec()
      Specified by:
      dec in interface org.apache.bookkeeper.stats.Counter
    • addCount

      public void addCount(long delta)
      Specified by:
      addCount in interface org.apache.bookkeeper.stats.Counter
    • addLatency

      public void addLatency(long eventLatency, TimeUnit unit)
      Specified by:
      addLatency in interface org.apache.bookkeeper.stats.Counter
    • get

      public Long get()
      Specified by:
      get in interface org.apache.bookkeeper.stats.Counter