Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サービス連携の”謎解き”を可能にするDatadogによる分散トレース導入の第一歩(サンプリング編)
Search
Shuhei Kanamori
July 29, 2025
Technology
1
47
サービス連携の”謎解き”を可能にするDatadogによる分散トレース導入の第一歩(サンプリング編)
After SRE NEXT 2025 LT&交流 Night でのLT資料です
Shuhei Kanamori
July 29, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
2
710
LLM開発を支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
370
Power Automate のパフォーマンス改善レシピ / Power Automate Performance Improvement Recipes
karamem0
0
280
With Devin -AIの自律とメンバーの自立
kotanin0
2
1k
【2025 Japan AWS Jr. Champions Ignition】点から線、線から面へ〜僕たちが起こすコラボレーション・ムーブメント〜
amixedcolor
1
120
東京海上日動におけるセキュアな開発プロセスの取り組み
miyabit
0
220
【CEDEC2025】『Shadowverse: Worlds Beyond』二度目のDCG開発でゲームをリデザインする~遊びやすさと競技性の両立~
cygames
PRO
1
250
Tableau API連携の罠!?脱スプシを夢見たはずが、逆に依存を深めた話
cuebic9bic
2
190
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
260
ソフトウェア開発プロジェクトでの品質管理への提案(温故知新)
yohwada
0
100
LIFF CLIとngrokを使ったLIFF/LINEミニアプリのお手軽実機確認
diggymo
0
210
TypeScript 上達の道
ysknsid25
23
5.2k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
How to Ace a Technical Interview
jacobian
278
23k
Gamification - CAS2011
davidbonilla
81
5.4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
410
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Become a Pro
speakerdeck
PRO
29
5.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Building Adaptive Systems
keathley
43
2.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Transcript
金森 秀平(プラットフォームエンジニアリング1G) サービス連携の”謎解き”を可能にする Datadogによる分散トレース導入の第一 歩(サンプリング編) @_MoneyForest
自己紹介
自己紹介 金森 秀平(@_MoneyForest) - 所属: タイミー プラットフォームエンジ ニアリングチーム 1G -
うさぎ(7歳♂)を育ててます - SIer -> Backend -> SRE
おさらい
SRE NEXTでは、弊社からは分散トレーシングにおける トレース情報の受け渡しについて発表しました
分散トレーシングは、システムをまたいだリクエストの流れをエンドツーエンドで可視化 ・追跡する技術です。
None
サービス間の分散トレース情報連携の主な方式( HTTPヘッダー、 Datadogの場合) 🐶 Datadog 独自形式( datadog) • x-datadog-trace-id: <trace-id>
• x-datadog-parent-id: <span-id> • x-datadog-sampling-priority: <sampling> • Datadog APM向けのデフォルト形式 🌐 W3C Trace Context(標準規格、 tracecontext) • traceparent: <version>-<trace-id>-<span-id>- <trace-flags> • OpenTelemetryなど多くのベンダーが対応 ⚠ B3(非推奨) 🔹 B3 Multi(b3multi) • X-B3-TraceId: <trace-id> • X-B3-SpanId: <span-id> • X-B3-ParentSpanId: <parent-span-id>(任意) • X-B3-Sampled: 0 または 1 • Zipkin互換。レガシー用途。複数ヘッダ形式。 🔸 B3 Single(b3 single header, b3single) • b3: <trace-id>-<span-id>-<sampling> • 軽量・1ヘッダで伝播。モダンなgRPCやHTTP/2と 相性が良い。
None
None
本日は、トレースの 「サンプリング」について発表します
サンプリング
サンプリングとは?
サンプリング: 全てのトレースを記録する代わりに、統計的に意味のある単位で 一部のトレースのみを選択して記録する仕組み
✅ コスト削減・ノイズ削減 ◦ アプリケーションの問題は繰り返し発生しがち ◦ サンプルでも母集団を代表できるため、全てを収集する 必要はない ❌ サンプリングが推奨されない場合 ◦
生成されるデータが少ない なぜサンプリングするのか?
主に2種類ある • ヘッドサンプリング ◦ トレースの開始時点でトレースを維持するか削除するか決定する ◦ サンプリング判定を行うのはトレーシングライブラリ ◦ 呼び出し先のサービスにトレースを維持または削除するかの情報を伝搬 する
• テールサンプリング ◦ トレースの終了時点でトレースを維持するか削除するか決定する ◦ サンプリング判定を行うのは OTel Collector、エージェント、または オブザーバビリティバックエンド ◦ オブザーバビリティベンダーが有するサンプリング機能の活用が可能 サンプリングの方法
ヘッドサンプリング テールサンプリング 補足: サンプリング箇所の図
(ところで)分散トレーシングの場合 サンプリングによって歯抜けにならんの?
補足: 歯抜けとは こういった外部サービス の箇所が欠損しないか
結論:大丈夫 → どちらのサンプリング方法でも歯抜けにならないようにできる
で、どっち使えばいいの?
ヘッドサンプリング向き • わかりやすいのが好きな人 ◦ 確率などのシンプルなサンプリングで いい場合 • 低コストにしたい人 ◦ トレース取り込み自体にコストがかか
り削減したい場合(Datadogなど) • 低負荷にしたい人 ◦ セルフホストしており、トレース送信 先の負荷も考慮したい場合 🔥 ヘッドサンプリング VS テールサンプリング 🔥
🔥 ヘッドサンプリング VS テールサンプリング 🔥 テールサンプリング向き • アプリケーション側はシンプルにしたい人 ◦ とりあえず送っておけば
OK • 工夫したい人 ◦ トレース全体が完成してから判定する ため「エラーになったトレース」「異 常なレイテンシーのトレース」を収集 するなどの設定が可能 • 多くのサービスを提供している会社 ◦ 中央集権的な管理ができる
オマケ: 高度なサンプリング • Datadog Adaptive Sampling のように高度なサンプリング機能も登場し ている ◦ 予算に応じてリモートから各サービスの
Agentのヘッドサンプリング設 定を書き換え、高度なサンプリングが可能に
まとめ
まとめ • サンプリングとは ◦ 全てのトレースを記録する代わりに、統計的に意味のある単位で一部のトレー スのみを選択して記録する仕組み ◦ アプリケーションの問題は繰り返し発生するため、すべてを収集する必要はな く、ノイズやコストが削減できる •
サンプリングの方法 ◦ ヘッドサンプリングとテールサンプリングがあり、サンプリングする箇所が異なっ ている ◦ どちらを使っても歯抜けにならないようにすることが可能 ◦ それぞれにメリデメがあるのでお好みで ◦ Datadog Adaptive Samplingのように、ベンダー固有の高度なサンプリング機 能も存在する
ありがとうございました