metrics

metrics

一些关于metrics的文档,demo以及源码学习笔记.
metrics主要用于度量。

起因

在研究了rocketmq的benchmark之后,又研究了kafka的benchmark。研究到kafka的benchmark时发现其用到了metrics。然后思索了下,其实这个也可以用在我们的基础平台上,可以是我们度量这个维度更模块化一些。换句话说,可以借鉴metrics的一些优秀的地方改造与完善我们基础平台现有的度量体系。

能力维度

收集方面主要包括:

  • 计数 (提供了便捷的API mark())
  • 自定义度量逻辑
  • 柱状图统计
  • 耗时统计
  • 健康检查

输出方面主要包括:

  • 控制台输出
  • JMX输出(MBean)
  • http (需要metrics-servlet部件)

对第三方开源部件的现成的metrics:

  • EhCache
  • Jetty
    等等...

console的输出

17-2-2 11:32:15 ================================================================

-- Meters ----------------------------------------------------------------------
requests
             count = 2000
         mean rate = 8.66 events/second
     1-minute rate = 9.41 events/second
     5-minute rate = 188.95 events/second
    15-minute rate = 311.52 events/second
requests1
             count = 1000
         mean rate = 4.33 events/second
     1-minute rate = 4.70 events/second
     5-minute rate = 94.47 events/second
    15-minute rate = 155.76 events/second

JMX输出

截图如下:
image

题外话

metrics分层清晰
infoq上有一个twitter的监控系统分享,他们做的非常大: http://www.infoq.com/cn/presentations/how-twitter-monitoring-system-deal-with-billion-order-metrics?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=presentations_link&utm_content=link_text

原文地址:https://www.cnblogs.com/simoncook/p/6361266.html