我是 Coda Hale Metrics 的新手。我创建了一个示例 spring 应用程序,它具有一个简单的 RESTful Web 服务方法。
我使用了 Coda Hale Metrics 框架提供的 Meter、Timer 和 Counter 工具来跟踪请求数量、请求比率和请求持续时间。目前我使用 Metrics 的控制台报告器将这些信息输出到控制台(请在下面找到代码)。
@Override
public void configureReporters(MetricRegistry metricRegistry) {
registerReporter(ConsoleReporter.forRegistry(metricRegistry).build())
.start(30, TimeUnit.SECONDS);
}
我对 Coda Hale Metrics 有几个问题。
(1) 目前计数器显示总数。自服务器启动后发出的请求。有什么办法可以得到否。在特定报告期间发出的请求数(例如:- 第 1 个 30 秒的计数 = count1,第 2 个 30 秒的计数 = count2 等...)
(2) 是否可以使用Timer获取每个请求的持续时间?目前 Timer 显示所有请求的最小、最大和平均速率。
(3) 是否有可能将这些 Metrics 数据持久保存到外部数据库中(例如:- MySQL)?
下面是我的 REST 服务方法。
@RequestMapping(value = "/examplerest", method = RequestMethod.GET)
@ResponseBody
@Metered(name="exampleRestMetered")
@Timed(name="exampleRestTimed")
@Counted(name="exampleRestCounted", monotonic=true)
public String exampleRest(
HttpServletResponse response) {
/**
some logics here
*/
}
感谢您对此的指导。
谢谢。