queue的增強版
public class EnhancedQueueextends LinkedBlockingQueue { private Counter pendings; private Meter inQueueMeter; private Meter deQueueMeter; private String name; public EnhancedQueue(MetricRegistry metricRegistry,String name){ this.name = name; this.pendings = metricRegistry.counter(MetricRegistry.name(EnhancedQueue.class + name, "pendings")); this.inQueueMeter = metricRegistry.meter(MetricRegistry.name(EnhancedQueue.class + name,"in-queue","tps")); this.deQueueMeter = metricRegistry.meter(MetricRegistry.name(EnhancedQueue.class + name,"de-queue","tps")); } @Override public E take() throws InterruptedException { E element = super.take(); pendings.dec(); deQueueMeter.mark(); return element; } @Override public void put(E e) throws InterruptedException { super.put(e); pendings.inc(); inQueueMeter.mark(); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65021.html
摘要:能夠讓的周期利用的更充分對于多線程應用運行在多處理器和多核系統上至很有挑戰性的。另外,當達到飽和狀態的時候并不能說明的性能和伸縮性已經達到了最佳的狀態。磁盤如果應用有對磁盤進行操作,我們需要對磁盤進行監控,來監測可能出現的磁盤性能問題。 對于 Java 性能比較關心的同學大概都知道《Java Performance》這本書,一般而言,很多同學在日常寫 Java Code 的時候很少去關...
摘要:對比操作前后的來定位內存泄露的根因所在。手機管家內存泄露每日監控方案目前手機管家的內存泄露每日監控會自動運行并輸出是否存在疑似泄露的報告郵件,不論泄露對象的大小。 騰訊Bugly特約作者: 姚潮生 最原始的內存泄露測試 重復多次操作關鍵的可疑的路徑,從內存監控工具中觀察內存曲線,是否存在不斷上升的趨勢且不會在程序返回時明顯回落。這種方式可以發現最基本,也是最明顯的內存泄露問題,對用戶價...
摘要:對比操作前后的來定位內存泄露的根因所在。手機管家內存泄露每日監控方案目前手機管家的內存泄露每日監控會自動運行并輸出是否存在疑似泄露的報告郵件,不論泄露對象的大小。 騰訊Bugly特約作者: 姚潮生 最原始的內存泄露測試 重復多次操作關鍵的可疑的路徑,從內存監控工具中觀察內存曲線,是否存在不斷上升的趨勢且不會在程序返回時明顯回落。這種方式可以發現最基本,也是最明顯的內存泄露問題,對用戶價...
摘要:打開郵件一看,果然告知我有一個應用的線程池隊列達到閾值觸發了報警。線程池的名稱一定得取的有意義,不然是自己給自己增加難度。根據監控將線程池的隊列大小調整為一個具體值,并且要有拒絕策略。 showImg(https://segmentfault.com/img/remote/1460000016944121?w=1920&h=1080); 背景 上午剛到公司,準備開始一天的摸魚之旅時突然...
閱讀 1707·2023-04-26 02:30
閱讀 1033·2021-11-10 11:36
閱讀 1380·2021-10-08 10:14
閱讀 3496·2021-09-28 09:35
閱讀 1552·2021-08-23 09:47
閱讀 2544·2019-08-30 15:56
閱讀 1469·2019-08-30 15:44
閱讀 1751·2019-08-30 13:59