如何将我的自定义指标添加到 Dropwizard /metrics

How Do I Add My Custom Metrics To Dropwizard /metrics

我正在使用 Dropwizard Metrics 库来记录在我的应用程序中执行各种操作的时间,使用 TimerConsoleReporter 并记录 countmean rate,等到控制台就可以了。

我希望这些数字也可以在 /metrics servlet 上使用,并且基于 http://metrics.dropwizard.io/3.1.0/manual/servlets/ 我需要访问名为 com.codahale.metrics.servlets.MetricsServlet.registry 的 MetricRegistry。但是查看文档和代码,我看不出这是如何完成的。我现有的 /metrics 只输出 dropwizard 和 jetty 的计时器 类

[编辑]

private static final MetricRegistry metricRegistry = new MetricRegistry();
...
Timer timer = metricRegistry.timer(name("com.codahale.metrics.servlets.MetricsServlet.registry","testval"));

如何将我的计时器连接到 /metrics 的输出?

默认情况下,Dropwizard 在其指标端点上显示所有指标,除了使用指标外,您无需执行任何操作。

唯一需要注意的是,DW 提供了用于此目的的指标注册表。通过自己定义,DW 无法找到正确的指标。这些可以在 运行 方法中传递给您的应用程序的环境中找到:

    @Override
    public void run(Configuration configuration, Environment environment) throws Exception {

        MetricRegistry metrics = environment.metrics();
    }

谢谢,

亚瑟