netty 監控線程池隊列的運行情況


 
         
 /**
  * 依賴jar包    metrics-core-4.1.9.jar
  * 
 *
NettyServer.exec 對象的定義 見 https://www.cnblogs.com/xiaodu9499/p/14328906.html
 
*/




public
class MetricsUtils { /** * 監控堆外內存使用情況 * 工作線程的隊列情況 */ public static void start() { // 注冊 MetricRegistry metricRegistry = new MetricRegistry(); metricRegistry.register("已使用直接內存", (Gauge<Long>) () -> PlatformDependent.usedDirectMemory()); metricRegistry.register("最大直接內存", (Gauge<Long>) () -> PlatformDependent.maxDirectMemory()); for (EventExecutor eventExecutor : NettyServer.exec) { metricRegistry.register("exec=======等待隊列大小"+eventExecutor.hashCode(), (Gauge<Integer>) () ->((SingleThreadEventExecutor)eventExecutor).pendingTasks()); } // 打印到控制台 ConsoleReporter consoleReporter = ConsoleReporter.forRegistry(metricRegistry).build(); // 每5秒打印一次 consoleReporter.start(5, TimeUnit.SECONDS); } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM