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

Providing custom names for for Metrics in Netflix Servo

目前,当我创建并注册 JMX 指标时,指标的命名空间似乎生成为:

TYPE.METRIC-NAME.CLASS-NAME.ID

因此,class VisitorMetric 中名为 "numberOfVisitors" 的计数器指标注册为 VistitorServlet 如下所示:

COUNTER.numberOfVisitors.VisitorMetrics.VistitorServlet 

理想情况下,我希望它命名为:

ID.METRIC-NAME
VistitorServlet.numberOfVisitors

就算能逆转也更好

经过一番尝试,我找到了解决方法:

我使用带有键 "class" 的配置生成器创建了一个新标签,这创建了一个名为:

的指标

COUNTER.[METRIC-NAME].[CLASS-NAME].value

您还可以通过创建一个新的 Class 来覆盖 bean 名称中的 COUNTER - 不幸的是,Netflix 最终确定了具体的 Counter class,因此您不能只是扩展和覆盖一些class.

的功能