无法查看使用spring指标注释捕获的指标

时间:2013-02-06 21:28:26

标签: java spring time jmx metrics

我该怎么做相同的:

  @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();
    }

here提到的弹簧注释和codahale指标?

我认为这很简单:

- 像这样注释我的servlet(我最终需要量表和计量):

@Timed
@Gauge
@Metered
@Override
protected void doGet(final HttpServletRequest req,
        final HttpServletResponse resp) throws ServletException, IOException {

- 更新我的spring-servlet以启用弹簧注释,如上面提到的页面所述。

但是当我使用jconsole时,我没有在MBeans部分中看到我检测到的servlet的任何其他条目,而不是其他不使用任何注释的servlet的条目

所以我的两个问题:

  1. 我有什么遗漏,以便我的网络应用程序实际通过JMX发送指标数据吗?

  2. 如果我希望带弹簧注释的代码开始报告CSV文件或石墨,我需要添加什么?

  3. 令人惊讶的是,我在网上或codahale的文档中找不到完整的例子。

1 个答案:

答案 0 :(得分:-1)

不幸的是,指标仅基于AOP,因此它只能用于公共方法