我怎样才能做相当于:
@Override
public void init(final ServletConfig config) throws ServletException {
super.init(config);
CsvReporter.enable(new File("/tmp/measurements"), 1, TimeUnit.MINUTES);
GraphiteReporter.enable(1, TimeUnit.MINUTES, "my.host.name", 2003);
}
@Override
protected void doGet(final HttpServletRequest req,
final HttpServletResponse resp) throws ServletException,
IOException {
final TimerContext timerContext = Metrics.newMeter(CreateSessionServlet.class,"myservlet-meter", "requests", TimeUnit.SECONDS).time();
try {
...
} finally {
timerContext.stop();
}
如上所述,带有 spring 注释和 codahale 指标here http://metrics.codahale.com/manual/spring/?
我认为这会很简单:
-像这样注释我的 servlet(我最终需要仪表和计量):
@Timed
@Gauge
@Metered
@Override
protected void doGet(final HttpServletRequest req,
final HttpServletResponse resp) throws ServletException, IOException {
- 并更新我的 spring-servlet 以启用 spring 注释,如上面提到的页面上所述。
但是,当我使用 jconsole 时,与不使用任何注释的其他 servlet 相比,我在 MBeans 部分中看不到我检测的该 servlet 的任何其他条目
所以我的两个问题:
我是否缺少任何内容,以便我的 Web 应用程序实际上通过 JMX 发送指标数据?
如果我希望带有 spring 注释的代码开始向 CSV 文件或石墨报告,我需要添加什么?
令人惊讶的是,我在网络上或 codahale 的文档中没有找到关于此的完整示例。