2017-12-19 13 views
0

PrometheusのSummaryメトリックを使用して、API呼び出しの待ち時間を収集しています。実際のAPIコールを行う代わりに、私は単にThread.sleep(1000)に1秒のAPIコールレイテンシ値をシミュレートするだけです。これにより、Summaryは.01(1秒のレイテンシ)の値を保持します。たとえば、同じ分にThread.sleep(1000)を2回呼び出すと、Summaryメトリックは、その中で発生したばかりの.01レイテンシの2つの個別インスタンスではなく、.02という値(2秒のレイテンシ)で終了します。同じ分。私の問題はプロメテウスの質問です。私が現在使用しているPrometheusのクエリはrate(my_custom_summary_sum[1m])です。プロメテウスの個々のサマリメトリックインスタンスをグラフ化する方法は?

プロメテウスのクエリは、Thread.sleep(1000)の呼び出しの待ち時間がわかるようにする必要があります。現時点では、Summaryメトリックは1分あたりの総レイテンシ合計を収集して表示します。それぞれ個の個の待ち時間をThread.sleep(1000)(つまりAPIリクエスト)に呼び出すにはどうすればよいですか。

private static final Summary mySummary = Summary.build() 
             .name("my_custom_summary") 
             .help("This is a custom summary that keeps track of latency") 
             .register(); 

Summary.Timer requestTimer = mySummary.startTimer(); //starting timer for mySummary 'Summary' metric 
     Thread.sleep(1000); //sleep for one second 
     requestTimer.observeDuration(); //record the time elapsed 

これは、このクエリからの結果のグラフである: Prometheus graph

答えて

0

プロメテウスは、それが全体的なパフォーマンスと行動を気に、メトリックベースの監視システムである - ない個々の要求。

あなたが探しているのは、GraylogやELKスタックなどのログベースのシステムです。

関連する問題