Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サービス連携の”謎解き”を可能にするDatadogによる分散トレース導入の第一歩(サンプリング編)
Search
Shuhei Kanamori
July 29, 2025
Technology
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サービス連携の”謎解き”を可能にするDatadogによる分散トレース導入の第一歩(サンプリング編)
After SRE NEXT 2025 LT&交流 Night でのLT資料です
Shuhei Kanamori
July 29, 2025
More Decks by Shuhei Kanamori
See All by Shuhei Kanamori
何もしなかった障害対応
moneyforest
0
170
可観測性を目的思考で捉え直す_-Squadが自律的に改善できるO11y基盤づくり_Railsモジュラーモノリス___DevPlatform_Squadの取り組み-
moneyforest
0
84
2時間かかる月次バッチを 10分に短縮した スケーラブルなバッチアーキテクチャ改善
moneyforest
0
310
Other Decks in Technology
See All in Technology
Autonomous AI Lakehouse - Live AI Hubから始めるセキュアなAIデータ活用 -
oracle4engineer
PRO
2
180
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
150
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
6
2.9k
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
1
110
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
120
Systems Manager AgentがインストールされたPCを紛失した時の対策を考えてみた
amarelo_n24
1
110
Patterns in AI Driven Software Development
akosma
PRO
0
420
Lint の層を組み直した話
bengo4com
1
280
SLOを阻む不安
sraku2159
0
200
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
150
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
3
3.1k
LLMの知識とAIエージェント
happysamurai294
0
150
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
380
Facilitating Awesome Meetings
lara
57
7.2k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Music & Morning Musume
bryan
48
7.5k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
380
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
The Curse of the Amulet
leimatthew05
3
16k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
570
Documentation Writing (for coders)
carmenintech
77
5.6k
Into the Great Unknown - MozCon
thekraken
41
2.8k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
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のように、ベンダー固有の高度なサンプリング機 能も存在する
ありがとうございました