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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shuhei Kanamori
July 29, 2025
Technology
140
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
可観測性を目的思考で捉え直す_-Squadが自律的に改善できるO11y基盤づくり_Railsモジュラーモノリス___DevPlatform_Squadの取り組み-
moneyforest
0
71
2時間かかる月次バッチを 10分に短縮した スケーラブルなバッチアーキテクチャ改善
moneyforest
0
280
Other Decks in Technology
See All in Technology
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
290
長期運営で肥大化したExcelマスターデータの解消に向けた移行事例
gree_tech
PRO
0
110
関東Kaggler会発表資料
takoi
1
280
Kiro WebとCloud Sessions
nagisa53
2
110
英語が話せなくてもKubeConスタッフに参加した話
yusuke427
2
1.1k
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
120
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
440
LLM Internals: 언어 모델의 계보와 알고리즘 진화 (2023~2026)
inureyes
PRO
1
880
35分でわかるEffective Platform Engineering
nwiizo
5
600
Genie Codeハンズオン応用編
taka_aki
0
140
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
240
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
RailsConf 2023
tenderlove
30
1.5k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Navigating Weather and Climate Data
rabernat
0
490
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Limits of Empathy - UXLibs8
cassininazir
1
610
Paper Plane
katiecoart
PRO
2
53k
Why Our Code Smells
bkeepers
PRO
340
58k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Prompt Engineering for Job Search
mfonobong
0
410
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のように、ベンダー固有の高度なサンプリング機 能も存在する
ありがとうございました