Upgrade to Pro — share decks privately, control downloads, hide ads and more …

大量の OpenTelemetry スパンを Cloud Trace に送りつけそうになった話

ebi-yade
July 22, 2024
1.4k

大量の OpenTelemetry スパンを Cloud Trace に送りつけそうになった話

2024/07/19 クラシコムさん 面白法人カヤック 合同勉強会

ebi-yade

July 22, 2024
Tweet

Transcript

  1. Who is @ebi-yade 󰳕 IT エンジニアをやっています • カヤック SRE 3年目(新卒入社)

    • Google Cloud Observability が好き • 最近ありがたいことに?仕事が増加傾向 💪 筋トレはじめました • パーソナル初心者 • 荷重スクワットが楽しい • 上半身は伸び代チョモランマ
  2. OpenTelemetry Go SDK による初期化の例 exporter, err := googletrace.New(googletrace.WithProjectID(projectID)) if err

    != nil { ... } resource, err := // 略 tracerProvider := sdktrace.NewTracerProvider( sdktrace.WithBatcher(exporter), // 出力先 == Google Cloud Trace sdktrace.WithResource(resource), sdktrace.WithSampler( // スパンを間引く sdktrace.ParentBased( // 基本的に親スパンの設定に従う sdktrace.TraceIDRatioBased(defaultSampleRatio), // 親スパンが存在しなかった場合 => 一定の確 率 ), ), )
  3. ことの発端 exporter, err := googletrace.New(googletrace.WithProjectID(projectID)) if err != nil {

    ... } resource, err := // 略 tracerProvider := sdktrace.NewTracerProvider( sdktrace.WithBatcher(exporter), // 出力先 == Google Cloud Trace sdktrace.WithResource(resource), sdktrace.WithSampler( // スパンを間引く sdktrace.ParentBased( // 基本的に親スパンの設定に従う sdktrace.TraceIDRatioBased(defaultSampleRatio), // 親スパンが存在しなかった場合 => 一定の確 率 ), ), ) defaultSampleRatio := 1.0 sdktrace.AlwaysSample()と等価
  4. ことの発端 exporter, err := googletrace.New(googletrace.WithProjectID(projectID)) if err != nil {

    ... } resource, err := // 略 tracerProvider := sdktrace.NewTracerProvider( sdktrace.WithBatcher(exporter), // 出力先 == Google Cloud Trace sdktrace.WithResource(resource), sdktrace.WithSampler( // スパンを間引く sdktrace.ParentBased( // 基本的に親スパンの設定に従う sdktrace.TraceIDRatioBased(defaultSampleRatio), // 親スパンが存在しなかった場合 => 一定の確 率 ), ), ) 親スパンが存在しない場合の挙動を 「常にサンプルする」にした
  5. 親スパンがない場合のサンプリングレートを1にした結果 スパンを送信! オブザーバビリティ バックエンド • Cloud Trace • AWS X-Ray

    • はてな Vaxila スパンを送信した!というスパンを送信! スパンを送信した!というスパンを送信!
  6. 親スパンがない場合のサンプリングレートを1にした結果 スパンを送信! オブザーバビリティ バックエンド • Cloud Trace • AWS X-Ray

    • はてな Vaxila スパンを送信した!というスパンを送信! スパンを送信した!というスパンを送信! スパンを送信した!というスパンを送信!
  7. 親スパンがない場合のサンプリングレートを1にした結果 スパンを送信! オブザーバビリティ バックエンド • Cloud Trace • AWS X-Ray

    • はてな Vaxila スパンを送信した!というスパンを送信! スパンを送信した!というスパンを送信! スパンを送信した!というスパンを送信! スパンを送信した!というスパンを送信! ……