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
120
1
Share
サービス連携の”謎解き”を可能にする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
59
2時間かかる月次バッチを 10分に短縮した スケーラブルなバッチアーキテクチャ改善
moneyforest
0
220
Other Decks in Technology
See All in Technology
スクラムの中で AI-DLC workflow を 使い始めて3ヶ月の振り返り
kaminashi
0
130
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
960
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
260
No Types Needed, Just Callable Method Check
dak2
1
1.8k
ServiceNow Knowledge 26 の歩き方
manarobot
0
150
260422_Sansan_Tech_Talk__関西_vol.3_データ活用のリアル__矢田__.pdf
sansantech
PRO
0
120
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
350
Cortex Codeのコスト見積ヒントご紹介
yokatsuki
0
110
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
1.2k
AI バイブコーティングでキーボード不要?!
samakada
0
610
AI: Making Admin and Users, Lives Better
kbmsg
0
110
これからの「データマネジメント」の話をしよう
sansantech
PRO
0
150
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.3k
How to make the Groovebox
asonas
2
2.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
120
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Faster Mobile Websites
deanohume
310
31k
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のように、ベンダー固有の高度なサンプリング機 能も存在する
ありがとうございました