OpenAICloudflare Developer Platform2026/06/16 0:00

Workers - Workers tracing now supports custom spans

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

openaijamodel: gpt-5-mini-2025-08-07

Workersのトレーシングでカスタムスパンをサポート

Key Points

  • カスタムスパン対応
  • 自動ネスト化
  • Wranglerで有効化

Summary

Cloudflare Workersでtracing.enterSpan()を使ってカスタムスパンを作成できるようになりました。カスタムスパンはfetchやKV読み取り、D1クエリなどの自動計測と同じトレースに含まれ、JavaScriptの非同期コンテキストに基づいて親子関係が自動で構築されます。スパンはコールバックが返すかプロミスが解決された時点で自動終了します。

Key Points

  • インポート/利用方法: import { tracing } from "cloudflare:workers" またはハンドラの ctx.tracing を使用して tracing.enterSpan("name", async (span) => { ... }) を呼び出す。
  • スパンAPI: span.setAttribute(key, value) でメタデータを添付、span.isTraced でサンプリング中かを確認。
  • 自動ネスト/自動終了: JSのasyncコンテキストに基づく正しい親子ネスト。コールバックの終了でスパンは自動的に終了する。
  • OpenTelemetry互換: カスタムスパンはプラットフォーム計測と一緒にトレースおよびOpenTelemetryエクスポートに含まれる。
  • 設定要件: スパンを記録するには Wrangler のトレーシング設定を有効にする必要がある。
  • 実践メモ: 重要な外部呼び出しやDB/KV操作を包むことで、既存の自動計測と合わせて詳細な遅延分析が可能。

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

openaijamodel: gpt-5-mini-2025-08-07

Workers — トレーシングでカスタムスパンがサポートされるようになりました

Workers トレーシングでカスタムスパンがサポートされるようになりました

公開日: 2026-06-16

Workers のコード内で tracing.enterSpan() を使ってカスタムのトレーススパンを作成できるようになりました。カスタムスパンは、fetch 呼び出し、KV 読み取り、D1 クエリなどの自動プラットフォーム計測と並んで、トレースおよび OpenTelemetry エクスポートに表示され、親子のネスト関係が正しく維持されます。

利用方法

API は次のいずれかで利用できます。

  • import { tracing } from "cloudflare:workers"
  • ハンドラのコンテキスト経由: ctx.tracing

TypeScript の使用例:

import { tracing } from "cloudflare:workers";

export default {
  async fetch(request, env, ctx) {
    return tracing.enterSpan("handleRequest", async (span) => {
      span.setAttribute("url.path", new URL(request.url).pathname);
      const data = await env.MY_KV.get("key");
      return new Response(data);
    });
  },
};

主なポイント

  • スパンは JavaScript の async コンテキストに基づいて自動的にネストされます。
  • コールバックが返るか、その返された Promise が解決/拒否されると、スパンは自動的に終了します。
  • Span オブジェクトはメタデータ添付用の setAttribute(key, value) を提供します。
  • Span には現在のリクエストがサンプリングされているかを判定する isTraced プロパティがあります。
  • スパンを記録するには、Wrangler の設定でトレーシングを有効にする必要があります。

完全な API 詳細と追加の例については、Custom spans を参照してください。