Slide 1

Slide 1 text

ROSCAFE Datadog APM におけるトレース収集の流れ および Retention Filters のはなし #ROSCAFE 逆井(さかさい) @ k6s4i53rx

Slide 2

Slide 2 text

逆 井 啓 佑 さかさい ● 所属:Datadog Japan ● コミュニティ: ○ OpenTelemetry Meetup ○ Google Cloud Champion Innovators ● クラウドネイティブ界隈に生息しています 自己紹介 CNDT2022 CNDT2023 CNDW2024 ー 2025-02-12 #ROSCAFE ☕ ー

Slide 3

Slide 3 text

Datadog もイベント開催頑張っています...! ー 2025-02-12 #ROSCAFE ☕ ー

Slide 4

Slide 4 text

Datadog APM 使ってますか?

Slide 5

Slide 5 text

APM Service Map Traces Profiles Database Monitoring Data Streams Monitoring Dynamic Instrumentation ※ APM の一部機能を掲載

Slide 6

Slide 6 text

APM Service Map Traces Profiles Database Monitoring Data Streams Monitoring Dynamic Instrumentation ※ APM の一部機能を掲載 ※ 以降、トレースと表記

Slide 7

Slide 7 text

トレースとは ー 2025-02-12 #ROSCAFE ☕ ー トレース ● アプリケーションがリクエストを処理する一連の流れ ● スパン(処理単位)から構成される ○ HTTP 処理、DB クエリ処理・・・ ※ 分散トレース:複数のサービスにまたがって、トレースを収集、可視化

Slide 8

Slide 8 text

トレースとは ー 2025-02-12 #ROSCAFE ☕ ー トレース ● アプリケーションがリクエストを処理する一連の流れ ● スパン(処理単位)から構成される ○ HTTP 処理、DB クエリ処理・・・ ※ 分散トレース :複数のサービスにまたがって、トレースを収集、可視化 リクエスト応答が 遅い ときの ボトルネック特定 など 分散サービスに おける エラー 箇所の特定 など

Slide 9

Slide 9 text

トレースのデータは全部必要か 🧐?

Slide 10

Slide 10 text

トレースのデータは全部必要か 🧐? 遅いトレース とか、エラーを含むトレース は 関心事である可能性が高そう。

Slide 11

Slide 11 text

SREcon24 Americas のセッション ー 2025-02-12 #ROSCAFE ☕ ー https://www.usenix.org/conference/srecon24americas/presentation/cruz

Slide 12

Slide 12 text

SREcon24 Americas のセッション ー 2025-02-12 #ROSCAFE ☕ ー https://www.usenix.org/conference/srecon24americas/presentation/cruz

Slide 13

Slide 13 text

SREcon24 Americas のセッション ー 2025-02-12 #ROSCAFE ☕ ー https://www.usenix.org/conference/srecon24americas/presentation/cruz サンプリングによる、データとコストの価値への影響

Slide 14

Slide 14 text

「大切なトレースを取り込み、保持する」 ー 2025-02-12 #ROSCAFE ☕ ー https://docs.datadoghq.com/ja/tracing/guide/leveraging_diversity_sampling/#diversity-sampling-algorithm-intelligent-retention-filter

Slide 15

Slide 15 text

「大切なトレースを取り込み、保持する」 ー 2025-02-12 #ROSCAFE ☕ ー https://docs.datadoghq.com/ja/tracing/guide/leveraging_diversity_sampling/#diversity-sampling-algorithm-intelligent-retention-filter

Slide 16

Slide 16 text

「大切なトレースを取り込み、保持する」 ー 2025-02-12 #ROSCAFE ☕ ー https://docs.datadoghq.com/ja/tracing/guide/leveraging_diversity_sampling/#diversity-sampling-algorithm-intelligent-retention-filter 確実に欲し い 確実に欲し い /healthcheck やら、 なんの変哲もない正常リクエストのトレースも含まれてるカモ

Slide 17

Slide 17 text

Datadog APM には 高機能な トレースパイプライン があります

Slide 18

Slide 18 text

Datadog APM のトレースパイプライン ー 2025-02-12 #ROSCAFE ☕ ー 1 2 3 4 5 6 ● トレーサー使ってアプリケーションを計装 ● トレーサーから(Datadog Agent を経由して)送られた、 スパンを Datadog に取り込む(Ingest) ○ ヘッドサンプリング ● 取り込んだスパンは 15 分間 Live Search 可能 ● 取り込んだスパンから必要に応じてメトリクスを作成 ● Datadog にスパンを保存する(Index) ○ Retention Filters による保存条件の設定 ○ 「遅い」や「エラー」のあるスパン条件 ● トレース情報を活用する 1 2 3 4 5 6

Slide 19

Slide 19 text

Datadog APM のトレースパイプライン ー 2025-02-12 #ROSCAFE ☕ ー 1 2 3 4 ● トレーサー使ってアプリケーションを計装 ● トレーサーから(Datadog Agent を経由して)送られた、 スパンを Datadog に取り込む(Ingest) ○ ヘッドサンプリング ● 取り込んだスパンは 15 分間 Live Search 可能 ● 取り込んだスパンから必要に応じてメトリクスを作成 ● Datadog にスパンを保存する(Index) ○ Retention Filters による保存条件の設定 ○ 「遅い」や「エラー」のあるスパン条件 ● トレース情報を活用する 1 2 3 4 5 6 5 6

Slide 20

Slide 20 text

Retention Filters(保持フィルター)について ー 2025-02-12 #ROSCAFE ☕ ー Retention Filters(保持フィルター) スパンが取り込まれたあと、Retention Filters で処理されて Datadog 内に保持される  ❶ デフォルトで有効化されている Retention Filters  ❷ カスタムタグベースの Retention Filters https://docs.datadoghq.com/ja/tracing/trace_pipeline/trace_retention/

Slide 21

Slide 21 text

Retention Filters(保持フィルター)について ー 2025-02-12 #ROSCAFE ☕ ー Retention Filters(保持フィルター) ❶ デフォルトで有効化されている Retention Filters ● インテリジェント Retention Filters ● Error Default Retention Filters ● e.t.c...(Synthetics、ASM、Dynamic Instrumentation) https://docs.datadoghq.com/ja/tracing/trace_pipeline/trace_retention/

Slide 22

Slide 22 text

Retention Filters(保持フィルター)について ー 2025-02-12 #ROSCAFE ☕ ー Retention Filters(保持フィルター) ❶ デフォルトで有効化されている Retention Filters ● インテリジェント Retention Filters : デフォルトで必ず有効化されるフィルター。 多様性サンプリング (env、service、resource や p75、p90、p95 の組み合わせや高レイテンシーなスパンを保 持)と、1% フラットサンプリング( 取り込んだ全てのスパンを均一に 1% の割合で保持)を行う ● Error Default Retention Filters : エラーが含まれている場合は、100% サンプリング (保持する)を行う ● e.t.c...(Synthetics、ASM、Dynamic Instrumentation) https://docs.datadoghq.com/ja/tracing/trace_pipeline/trace_retention/

Slide 23

Slide 23 text

Retention Filters(保持フィルター)について ー 2025-02-12 #ROSCAFE ☕ ー Retention Filters(保持フィルター) ❷ カスタムタグベースの Retention Filters  タグ(env、service、status、…)に基づく追加のカスタマイズ可能なフィルター ● 「$100 以上の決済処理」のトレースは 100 % 保持する ● 「SaaS サービスの、プレミアム会員ユーザー」のトレースは 100 % 保持する ● 「特定のサービス」のトレースは 0 % 保持する(= 保持しない) https://docs.datadoghq.com/ja/tracing/trace_pipeline/trace_retention/

Slide 24

Slide 24 text

Retention Filters(保持フィルター)について ー 2025-02-12 #ROSCAFE ☕ ー ❶ ❷

Slide 25

Slide 25 text

Datadog の画面 ー 2025-02-12 #ROSCAFE ☕ ー

Slide 26

Slide 26 text

まとめ ー 2025-02-12 #ROSCAFE ☕ ー ● Datadog APM のトレース収集についての全体像と、 Retention Filter(保持フィルター) についてのはなしをしました ● ヘッドサンプリングが関連する Ingestion フェーズ も大切 ○ Resource-based Sampling / Adaptive Sampling(Preview) ● オブザーバビリティ SaaS のつよみである、 監視バックエンド側のリッチなサンプリング機能を使い、良いコストマネジメントを!

Slide 27

Slide 27 text

宣伝 ❶ ー 2025-02-12 #ROSCAFE ☕ ー 2/26(水)19:00〜 Japan Datadog User Group Meetup#7 があります @ Datadog オフィス

Slide 28

Slide 28 text

宣伝 ❷ ー 2025-02-12 #ROSCAFE ☕ ー 3/6(木)19:00〜 Japan Datadog User Group Meetup#8 があります @札幌

Slide 29

Slide 29 text

記載されている会社名、商品名、 またはサービス名は、各社の商標登録または商標です。