Skip to content
Latchkey

Counter メトリクスとは? 累積カウントの解説

counter メトリクスは、増える一方の累積値で、処理されたリクエストの総数やエラーの総数のように、何かの発生回数を数えるために使われます。

counter は最もシンプルなメトリクスタイプであり、最も有用なものの1つです。時間とともに累積することで「いくつ」に答え、その累積合計からイベントの rate を導き出します。counter と、そこから計算する rate を理解することは、あらゆるメトリクスシステムを読み解くうえで基本となります。

増加するだけの値

counter はゼロから始まり、イベントが起こるたびに増加します。通常の運用中は決して減少しません。総リクエスト数、総エラー数、処理された総バイト数は、典型的な counter です。この単調増加という性質こそが、自由に上下する gauge と counter を区別するものです。

なぜ値ではなく rate をクエリするのか

counter の生の値、つまり際限なく増え続ける巨大な数字は、それ自体が興味深いことはめったにありません。重要なのは、それがどれだけ速く増加しているか、すなわち毎秒あたりのリクエスト数や毎分あたりのエラー数です。監視システムはこの rate を counter から計算し、累積合計を意味のあるリアルタイムのシグナルへと変えます。

リセットの処理

プロセスが再起動すると、メモリ上の counter はゼロにリセットされます。メトリクスシステムはこの下降を検出し、rate を計算する際に考慮するため、再起動が巨大なマイナスのスパイクとして記録されることはありません。このリセット処理こそが、生の差分ではなく rate 関数が正しいツールである理由です。

counter とエラー率

よくある強力なパターンは、ある counter を別の counter で割ることです。エラー数を総リクエスト数で割るとエラー率が得られ、これは多くのアラートや SLO の基礎となります。counter は、こうした比率ベースの信頼性シグナルを構築するための素材です。

CI/CD における counter

パイプラインの counter には、実行された build の総数、失敗の総数、リトライの総数などがあります。1日あたりの失敗数や、失敗した build の総 build に対する比といった rate は、信頼性が悪い方向へ向かっていないかを明らかにします。counter から計算された上昇する失敗率は、CI の健全性が損なわれつつあるという早期の警告です。

重要なポイント

  • counter は増加するだけで、イベントの発生回数を数えます。
  • 生の値ではなく、その増加の rate をクエリします。
  • メトリクスシステムは、プロセス再起動時の counter のリセットを処理します。
  • counter 同士の比は、エラー率、SLO、CI の失敗率を生み出します。

関連ガイド