为Netflix Servo中的Metrics提供自定义名称

时间:2016-01-06 17:47:09

标签: java jmx mbeans netflix servo

目前,当我创建JMX度量标准并对其进行注册时,度量标准的命名空间似乎生成为:

TYPE.METRIC-NAME.CLASS-NAME.ID

因此,一个名为" numberOfVisitors"的计数器指标在VisitorMetric类中,注册为VistitorServlet看起来像:

COUNTER.numberOfVisitors.VisitorMetrics.VistitorServlet 

理想情况下,我希望它的名称如下:

ID.METRIC-NAME
VistitorServlet.numberOfVisitors

即使我能扭转它也会更好。

1 个答案:

答案 0 :(得分:1)

经过一番游戏后,我想出了一个解决方法:

我使用配置构建器创建了一个新标签,其密钥为“class”,这会创建一个名为:

的指标

COUNTER。[公制-NAME]。[CLASS-NAME]。价值

你也可以通过创建一个新的类来覆盖bean名称中的COUNTER - 不幸的是,Netflix使具体的Counter类成为最终的,所以你不能只扩展和覆盖该类的某些功能。