类 TopnCounterMetricsContainer


  • public class TopnCounterMetricsContainer
    extends java.lang.Object
    container for top n counter metrics, increment and remove cost O(1) time.
    作者:
    liuyixiao
    • 构造器详细资料

      • TopnCounterMetricsContainer

        public TopnCounterMetricsContainer()
    • 方法详细资料

      • getTopNCounter

        public java.util.List<Pair<java.lang.String,​java.util.concurrent.atomic.AtomicInteger>> getTopNCounter​(int n)
      • put

        public void put​(java.lang.String dataId)
        put(String dataId, 0).
        参数:
        dataId - data name or data key.
      • put

        public void put​(java.lang.String dataId,
                        int count)
        put new data into container, if already exist, update it. this method could be slow (O(N)), most time use increment.
        参数:
        dataId - data name or data key.
        count - data count.
      • get

        public int get​(java.lang.String dataId)
        get data count by dataId.
        参数:
        dataId - data name or data key.
        返回:
        data count or -1 if not exist.
      • increment

        public void increment​(java.lang.String dataId)
        increment the count of dataId.
        参数:
        dataId - data name or data key.
      • remove

        public java.util.concurrent.atomic.AtomicInteger remove​(java.lang.String dataId)
        remove data.
        参数:
        dataId - data name or data key.
        返回:
        data count or null if data is not exist.
      • removeAll

        public void removeAll()
        remove all data.
      • insertIntoSpecifiedCountDataIdSets

        private void insertIntoSpecifiedCountDataIdSets​(java.lang.String dataId,
                                                        int count)