我该怎么做相当于:
@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();
}
使用这里提到的弹簧注释和 codahale 指标?
我认为这很简单:
- 像这样注释我的 servlet(我最终将需要仪表和计量):
@Timed
@Gauge
@Metered
@Override
protected void doGet(final HttpServletRequest req,
final HttpServletResponse resp) throws ServletException, IOException {
- 并更新我的 spring-servlet 以启用 spring 注释,如上述页面中所述。
但是当我使用 jconsole 时,我在 MBeans 部分中没有看到我检测的那个 servlet 的任何额外条目,而不是其他不使用任何注释的 servlet
所以我的两个问题:
我是否遗漏了什么,以便我的 Web 应用程序实际上通过 JMX 发送指标数据?
如果我希望带有 spring 注释的代码开始报告到 CSV 文件或石墨,我需要添加什么?
令人惊讶的是,我在网络上或 codahale 的文档中没有找到完整的示例。