IT運用・統制

APMとは|保存量1.2%でも失敗の100%を捕まえられた。一律に間引くと1.5%

何を集める仕組みなのか間引くと何が見えなくなるのかどこまで細かく記録すればよいのか

1日20万件のうち失敗は404件でした。一律1.0%に間引くと、捕まえられた失敗は1.5%です。

失敗だけ全部残す形なら、保存量1.2%で100.0%を捕まえられます。

この記事の要点

  • 一律1.0%で1.5%
  • 失敗全部なら100.0%
  • 保存量は1.2%
  • 段ごとの記録で名指しできる

保存量1.2%でも失敗の100%を捕まえられた

一律に間引くと、失敗も同じ割合で消えます。残す基準を変えれば、量を増やさずに全部残せます。

APMが扱うのは、動いている系から出るデータです。出典は遠隔測定とは、系とその振る舞いから発せられるデータを指すと定めています。

全部を残すと量が問題になります。だから間引きますが、間引き方によって見えるものが変わります

間引き方を変える

1日20万件のうち、失敗は404件(0.20%)です。この404件をどれだけ捕まえられるかを数えました。

text
1日の要求 200000件。うち失敗 404件(0.20%)

間引き方                  残した件数  捕まえた失敗  失敗の捕捉率  1日の保存量の比
一律 0.1%                         212件            2件          0.5%            0.1%
一律 1.0%                        1906件            6件          1.5%            1.0%
一律 5.0%                        9810件           25件          6.2%            4.9%
一律 10.0%                      19997件           43件         10.6%           10.0%
一律 100.0%                    200000件          404件        100.0%          100.0%
失敗は全部+成功 0.1%                   606件          404件        100.0%            0.3%
失敗は全部+成功 1.0%                  2432件          404件        100.0%            1.2%

一律に間引くと、捕捉率と保存量がほぼ同じ値になります。1.0%残せば1.5%しか捕まえられません。

下2行では100.0%です。保存量は1.2%で、一律1.0%とほとんど変わりません。

なぜこうなるか

失敗は0.20%しかありません。全部残しても、それだけで保存量が0.2%増えるだけです。

一律の間引きは、この0.20%も同じ割合で捨てます。いちばん見たいものを、いちばん多いものと同じ扱いにしている形です。

だから決めるのは割合ではなく、何を必ず残すかです。失敗、遅い要求、特定の利用者などが候補になります。

同じ保存量でも、残す基準で捕まえられる失敗が桁違いになる。

失敗の捕捉率(%)1日の保存量(%)→110110一律1.0%一律10.0%一律100%失敗全部+成功1.0%要求20万件・失敗404件での実測。一律の間引きは対角線上に並び、左上へ抜けられない。
図1 ── 保存量と、失敗の捕捉率
出典OpenTelemetry 公式ドキュメント「Observability primer」2026-08-18 確認
Telemetry refers to data emitted from a system and its behavior.
原文OpenTelemetry 公式ドキュメント「Observability primer」 この内容の有効期限2027-02-18

段ごとに記録しないと、遅い段を名指しできない

全体の所要だけでは、どこが遅いか分かりません。段ごとに記録して初めて0.0%が100.0%になります。

APMの記録の単位は、作業のひとかたまりです。出典はひとつのまとまりは、単一の作業ないし操作の単位を表すと定めています。

どこまで細かく取るかで、分かることが変わります。5つの段を通る要求で数えました。

記録の粒度を変える

text
要求 5000件。5つの段を通る。うち 514件で検索の段だけが遅くなる
全体の所要の95%点は 1160ミリ秒

記録の粒度                  1件あたりの記録  遅い段を名指しできた割合  1日の保存量
全体の所要だけ                             1個                    0.0%         76MB
入口と出口の2点                            2個                    0.0%        153MB
段ごとに記録                              5個                  100.0%        381MB
段ごと+呼び出し先                           9個                  100.0%        687MB

上2行は0.0%です。遅いことは分かっても、どこが遅いかは分かりません。

段ごとに記録すると100.0%になります。1件あたり5個の記録で足ります。

それ以上を取る意味

最下行は9個の記録を取りますが、名指しの割合は100.0%のままです。保存量だけが1.8倍になります。

細かくする意味があるのは、段の中でさらに分かれている場合だけです。分かれていなければ、増やしても答えは変わりません。

つまり粒度は名指ししたい単位までで止めます。この計測では5個です。

5個で100%になり、それ以上は保存量だけが増える。

全体の所要だけ(0.0%)名指しに要る分それ以外7676MB段ごとに記録(100.0%)381381MB段ごと+呼び出し先(100.0%)381306687MB要求5000件での実測。段ごとの5個で100.0%に達し、9個に増やしても割合は変わらない。
図2 ── 記録の粒度と、名指しできた割合
出典OpenTelemetry 公式ドキュメント「Observability primer」2026-08-18 確認
A span represents a single unit of work or operation.
原文OpenTelemetry 公式ドキュメント「Observability primer」 この内容の有効期限2027-02-18

問いを立てられる形にしておく

中身を知らなくても問えるようにする、という考え方です。問える範囲は集め方で決まります。

APMの土台になる考え方を、出典はこう定めています。

可観測性は、その系の内部の仕組みを知らなくても系について問いを立てられるようにすることで、外から系を理解できるようにするという記述です。

つまり問いを立てられるかどうかが基準になります。前の2つの節は、その問いの例でした。

立てられる問いと集め方の対応

  1. 失敗した要求は何をしていたか。失敗を全部残していれば問える
  2. どの段が遅いか。段ごとに記録していれば問える
  3. いつから変わったか。時刻とともに残していれば問える
  4. 誰に起きているか。利用者の識別子を残していれば問える

どれも集めていなければ答えられません。あとから遡って集めることはできません。

だから設計は、立てたい問いを先に決めて、そこから集め方を決める順序になります。

経路をたどる記録

出典は経路の記録も定めています。分散した記録、より一般には記録と呼ばれるものは、単一の要求が構成の中の複数のサービスを伝わっていく際にたどった経路を記録するという説明です。

経路をたどるには、段をまたいで同じ印を持ち回る必要があります。この印がないと、5個の記録がばらばらのままです。

記録の設計そのものはトレース設計の記事で扱っています。

余談 この計測での注意

失敗の割合0.20%と、遅い段が出る割合は置いた値です。失敗がもっと多ければ、全部残す方式の保存量も増えます。1件あたりの記録の大きさも置いたもので、実際には項目の数で変わります。ここで見せているのは、一律の間引きが捕捉率と保存量を同じ値に縛ること、粒度は名指ししたい単位で止まることの2つです。

出典OpenTelemetry 公式ドキュメント「Observability primer」2026-08-18 確認
Observability lets you understand a system from the outside by letting you ask questions about that system without knowing its inner workings.
原文OpenTelemetry 公式ドキュメント「Observability primer」 この内容の有効期限2027-02-18

よくある質問

APMは何を集めますか
動いている系から出るデータです。要求がどの経路をたどったかを記録し、外から状態を問えるようにします。
一律に間引くとどうなりますか
保存量と同じ割合でしか失敗を捕まえられません。1.0%に間引けば1.5%でした。
どうすれば失敗を残せますか
失敗だけ全部残す形にします。保存量1.2%で100.0%を捕まえられました。
記録はどこまで細かくしますか
段ごとに記録すると、遅い段を100.0%名指しできました。全体の所要だけでは0.0%です。

まとめ

  • 外から状態を問える形にする
  • 一律の間引きは失敗も間引く
  • 失敗だけ残せば量は増えない
  • 段ごとの記録で場所が分かる

今日から始められること

  1. いまの間引き方を確かめる
  2. 失敗した要求が残っているか見る
  3. 1件あたり何個の記録を取っているか数える
  4. 遅い要求で段を名指しできるか試す

実務で組んだAPMのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る