如何将我的自定义指标添加到 Dropwizard /metrics
How Do I Add My Custom Metrics To Dropwizard /metrics
我正在使用 Dropwizard Metrics 库来记录在我的应用程序中执行各种操作的时间,使用 Timer
和 ConsoleReporter
并记录 count
, mean 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();
}
谢谢,
亚瑟
我正在使用 Dropwizard Metrics 库来记录在我的应用程序中执行各种操作的时间,使用 Timer
和 ConsoleReporter
并记录 count
, mean 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();
}
谢谢,
亚瑟