DATADOG コース · CHAPTER 09

トレースでボトルネックを特定する — この章で何を学ぶか

この章は「trace・spanで処理の待ち時間を分解する」「ECSからDatadogへトレースを送る構成」「起動依存とTracerのエラーを解きほぐす」を、設定だけで終わらせず確認可能な理解へつなぐ。

TL;DR

  1. trace・spanで処理の待ち時間を分解する。
  2. ECSからDatadogへトレースを送る構成。
  3. 起動依存とTracerのエラーを解きほぐす。

01trace・spanで処理の待ち時間を分解する

まず、章の操作が解決しようとしている問いを決める。

trace・spanで処理の待ち時間を分解するを示す図
中央から外側へ伸びる矢印を追うと、観測したい対象と収集元の対応が分かる。

traceはリクエスト単位、spanは内部処理単位であり、親子関係と所要時間で待ち場所を見つける。

学ぶポイント: traceはリクエスト単位、spanは内部処理単位であり、親子関係と所要時間で待ち場所を見つける。

02ECSからDatadogへトレースを送る構成

次に、構成要素を置く順序と責務の境界を確認する。

ECSからDatadogへトレースを送る構成を示す図
上段から下段へ読み、設定値ではなく各コンポーネントの責務がどこで切り替わるかを見る。

アプリケーションとAgentの送信先・起動順を揃え、ECSからAPMデータが届く条件を理解する。

学ぶポイント: アプリケーションとAgentの送信先・起動順を揃え、ECSからAPMデータが届く条件を理解する。

03起動依存とTracerのエラーを解きほぐす

最後に、完成条件を観測データや応答から判定できるようにする。

起動依存とTracerのエラーを解きほぐすを示す図
左から右へ進む矢印は、確認操作が実際の結果へ到達するまでの切り分け順を表す。

startupの依存関係を整え、Tracerのエラーを単なるログではなく構成不一致の手掛かりとして扱う。

学ぶポイント: startupの依存関係を整え、Tracerのエラーを単なるログではなく構成不一致の手掛かりとして扱う。

結論

  1. トレースでボトルネックを特定するの目的を一文で説明できる。
  2. 収集・設定・確認の境界を切り分けられる。
  3. 次の章で使う観測データと運用判断につなげられる。