できること
API 呼び出しのトレース
Messages API のリクエスト、ツールの使用、Managed Agents のセッションを OpenTelemetry でトレースし、既存のオブザーバビリティ基盤で確認できます。送り先は OTLP を受け付ける基盤であれば選べます。
SDK と API の両方
SDK トレースと API トレースのどちらか、または両方を設定できます。両方を設定すると、1 つのリクエストの SDK のスパンと API のスパンを 1 つのトレースで確認できます。
出力内容の選択
出力先と SDK クライアントごとに content mode があり、スパンにモデルへのプロンプトと応答を含めるかどうかを設定できます。
機能解説
概要
トレースは、すでに使っているオブザーバビリティ基盤で確認できます。失敗したリクエストや遅いリクエストの調査、トークン消費量とレイテンシの追跡、実際のトラフィックをもとにした評価 (eval) の作成に使えます。
OpenTelemetry export は、Claude API と Claude SDK が生成するスパンを OpenTelemetry の形式で出力する機能です。
- API と SDK は GenAI semantic conventions の属性を使います。この規約に対応した基盤では、追加の設定なしでスパンを認識できます。
- 自社アプリケーションのトレースの中で各リクエストを確認でき、そのリクエストを送ったユーザーや機能と結び付けて見られます。
- Claude SDK は Python、TypeScript、C#、Go、Java、PHP、Ruby でスパンを出力します。
- API からスパンを取得するには、Claude Console で OpenTelemetry の出力先を追加します。
スパンの構成と読み方
Messages API の create-message リクエストでは、API のスパンの下に、モデルへのリクエストごとのスパンと、API が実行したサーバーツールまたは MCP connector ツールの使用ごとのツールスパンが付きます。
Managed Agents のセッションでは、Sessions API のリクエストごとのスパンと、エージェントのターンごとのターンスパンが付きます。セッションのスパンは次のようにまとめて読みます。
- 1 つのスレッドを読む場合: セッションのスレッド ID を持つ
gen_ai.conversation.idでスパンをまとめ、開始時刻の順に並べると、スレッドをトランスクリプトとして読めます。 - すべてのスレッドを含むセッション全体を見る場合: トレースをまたいで
anthropic.session.idでスパンをまとめます。
トークンを集計するときの注意
トークンを重複なく数えるには、リクエストごとに 1 つの出どころのスパンだけを合計します。Messages API のリクエストに SDK のスパンと API のスパンの両方がある場合は、API のスパンを合計します。
どちらのスパンも名前は anthropic.messages.create です。種類 (kind) で区別し、SDK のスパンは CLIENT、その子にあたる API のスパンは SERVER です。
なお、出力されたスパンは API 利用の完全な記録としては保証されません。配信はベストエフォートで、スパンが失われる場合があります。
コンテンツモードとデータの扱い
出力先と SDK クライアントにはそれぞれ content mode があります。
- Metadata only (SDK では
metadata_only): 既定のモードです。スパンには識別子、タイミング、ステータス、トークン数と、エージェントやツールの名前・説明、MCP サーバーの名前など、利用者が選んだテキストが含まれます。 - Full content (SDK では
content): 最も多くの情報を含むモードです。Metadata only の内容に加え、モデルへのプロンプトと応答が含まれます。
管理者・導入時に確認したい点は次のとおりです。
- 組織が Anthropic と HIPAA、FERPA、K-12 のデータ取り扱い制限を結んでいる場合、出力先は content mode にかかわらずメタデータだけを出力します。SDK のスパンはこの影響を受けません。
- zero data retention の場合も Full content を使えます。Messages API のリクエストでは、API は出力するコンテンツを出力先へ届けるまでメモリ上にだけ保持します。
- Full content では、各スパンが保持するコンテンツは既定で最大 0.75 MB です。上限を超えた場合、SDK または API はコンテンツを短くし、
anthropic.content.truncatedをtrueに設定します。 - SDK で上限を変えるには
traces.max_content_bytesを設定します (TypeScript・Java・PHP はtraces.maxContentBytes、C# はTraces.MaxContentBytes、Go はoption.WithOpenTelemetryTracesMaxContentBytes())。
提供状況の注意
OpenTelemetry export は 2026 年 10 月 14 日にベータとして提供が始まりました。対象プランや提供地域は、公式のリリースノートには記載がありません。
使い方
ここでは Claude Console で API トレースの出力先を追加する流れを示します (SDK トレースは、SDK をインストールして tracer provider を登録して設定します)。
- Claude Console で OpenTelemetry の出力先 (destination) を追加します。
- スパンにプロンプトと応答を含め、コンテンツの上限を変える場合は、出力先を追加するときに Content mode (コンテンツモード) を Full content に設定します。
- Advanced settings (詳細設定) で Maximum content size in MB (最大コンテンツサイズ、MB 単位) を設定します。
利用シーン
失敗したリクエストや応答の遅いリクエストの原因を調べる場面に使えます。
トークン消費量とレイテンシを継続して追跡する場面に向いています。
実際のトラフィックをもとに評価 (eval) を作る場面に使えます。
自社アプリケーションのトレースの中で、どのユーザーや機能が Claude へのリクエストを送ったかを確認する場面に向いています。
ChatGPT・OpenAI の対応する機能
公式リリースノートでは、対応する発表を確認できていません (2026-11-03 時点)。 これは、対応する機能が存在しないことを示すものではありません。