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
130
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
65
2時間かかる月次バッチを 10分に短縮した スケーラブルなバッチアーキテクチャ改善
moneyforest
0
260
Other Decks in Technology
See All in Technology
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
890
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
0
110
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
190
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
800
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
190
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
130
ゼロをイチにする仕事が終わったあと
smasato
0
250
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
190
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
420
背中から、背中へ /paying forward to community
naitosatoshi
0
210
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
150
組織における AI-DLC 実践
askul
0
300
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
420
It's Worth the Effort
3n
188
29k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
How to train your dragon (web standard)
notwaldorf
97
6.7k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
250
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のように、ベンダー固有の高度なサンプリング機 能も存在する
ありがとうございました