3

どうすれば同等のことを行うことができますか:

  @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 メトリックを使用して?

私はそれが次のように簡単だと思った:

-このようにサーブレットに注釈を付けます(最終的にはゲージとメータリングが必要になります):

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

-上記のページで説明されているように、Spring アノテーションを有効にするように spring-servlet を更新します。

しかし、jconsole を使用すると、MBeans セクションに、注釈を使用しない他のサーブレットよりもインストルメント化したそのサーブレットの追加エントリが表示されません。

だから私の2つの質問:

  1. Web アプリが実際に JMX 経由でメトリック データを送信するために不足しているものはありますか?

  2. Spring アノテーションを含むコードで CSV ファイルまたはグラファイトへのレポートを開始するには、何を追加する必要がありますか?

驚いたことに、これに関する web または codahale のドキュメントには完全な例が見つかりませんでした。

4

1 に答える 1

-1

残念ながら、メトリクスのみが AOP に基づいているため、パブリック メソッドにのみ使用できます。

于 2014-08-08T08:57:13.410 に答える