首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Graphite中的Dropwizard指标

Graphite中的Dropwizard指标
EN

Stack Overflow用户
提问于 2017-06-07 19:08:42
回答 0查看 580关注 0票数 1

我们使用Jersey创建了多个API端点,并使用web.xml设置而不是资源配置设置。我们希望捕获并显示每个端点的所有请求的指标,包括所有不同的响应代码。到目前为止,我已经创建了一个扩展InstrumentedFilterContextListener的类,并在其中包含了Graphite reporter。

在web.xml中,我添加了以下代码块以使报告正常工作:

代码语言:javascript
复制
<listener>
    <listener-class>metrics.MyInstrumentedFilterContextListener</listener-class>
</listener>


<filter>
    <filter-name>testFilter</filter-name>
    <filter-class>com.codahale.metrics.servlet.InstrumentedFilter</filter-class>
    <init-param>
        <param-name>name-prefix</param-name>
        <param-value>testEndpoint</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>testFilter</filter-name>
    <url-pattern>/api/testEP1/*</url-pattern>
</filter-mapping>
enter code here

<filter>
    <filter-name>testFilter2</filter-name>
    <filter-class>com.codahale.metrics.servlet.InstrumentedFilter</filter-class>
    <init-param>
        <param-name>name-prefix</param-name>
        <param-value>testEndpoint2</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>testFilter2</filter-name>
    <url-pattern>/api/testEP2/*</url-pattern>
</filter-mapping>

因此,通过上面的配置和下面的类,我在Graphite仪表板中获得了一些信息:

代码语言:javascript
复制
public class MyInstrumentedFilterContextListener extends InstrumentedFilterContextListener {
public static MetricRegistry METRIC_REGISTRY = new MetricRegistry();

static {

    final Graphite graphite = new Graphite(new InetSocketAddress("localhost", 8080));
    final GraphiteReporter reporter = GraphiteReporter.forRegistry(METRIC_REGISTRY)
            .prefixedWith("API.Metrics")
            .convertRatesTo(TimeUnit.SECONDS)
            .convertDurationsTo(TimeUnit.MILLISECONDS)

            .build(graphite);
    reporter.start(10, TimeUnit.SECONDS);
}

@Override
protected MetricRegistry getMetricRegistry() {
    return METRIC_REGISTRY;
}
}

我目前的问题是,从我可以看出的是,它主要是机器相关的指标,cpu,内存等,正在被捕获,而不是像我映射的端点的ok,错误或找不到的请求的数量。我也通过添加一个ConsoleReporter来测试侦听器类是否正在捕获请求,这样我就可以看到不同请求的所有计数都在增加。最后,我的问题是,如何在Graphite中看到所有相同的计时器和计时器数据?是否需要设置一些额外的设置才能获得这些数据,或者这些数据在Graphite中被称为完全不同的东西?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44410988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档