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