言語モデル
X

Claude API のトレースを OpenTelemetry で Datadog などへ送る

2026/10/19

Anthropic は 2026 年 10 月 14 日に、OpenTelemetry への書き出しをベータとして始めた⁠[1]。Messages API の呼び出しやツールの実行、Claude Managed Agents のセッションを、OpenTelemetry のスパンとして記録できます⁠[1,2]。

記録は、いま使っている監視のサービスで見られる⁠[2]。失敗した依頼や遅い依頼の調査、トークンの量と待ち時間の追跡、実際のやりとりからの評価(eval)づくりに使える、と Anthropic は説明しています⁠[2]。

記録のとり方は、SDK の側と API の側の 2 つ⁠[2]。SDK の側は、Python・TypeScript・C#・Go・Java・PHP・Ruby の SDK で tracer provider を登録すると、SDK を使うクライアントの依頼を記録できる⁠[1,2]。

API の側は、Claude Console で送り先を加えると、どのクライアントからの依頼も記録される⁠[1,2]。送り先を加えるには Admin の権限が必要です⁠[2]。対応するのは Claude Platform と Claude Platform on AWS⁠[2]。

送り先は OTLP を受けとる監視のサービスならどれでもよく、Datadog、Grafana Cloud、Honeycomb、Langfuse、LangSmith、New Relic、Sentry などが連携先に挙がっている⁠[2]。

スパンにプロンプトと応答を含めるかは、送り先ごと、SDK のクライアントごとに選ぶ⁠[2]。既定の Metadata only で送るのは、ID や時間、状態、トークンの数など⁠[2]。Full content にすると、プロンプトと応答も含まれます⁠[2]。

HIPAA、FERPA、K-12 のデータの制限がある組織では、API の側の送り先は設定にかかわらずメタデータだけを送る⁠[2]。Zero Data Retention の組織でも Full content を使える⁠[2]。Messages API の内容は、送り先に届けるまでメモリにだけ置かれます⁠[2]。

Full content で 1 つのスパンに収まる内容は、既定で 0.75 MB⁠[2]。英語の文章なら、20 万トークンのコンテキストが収まる大きさです⁠[2]。超えた内容は削られ、anthropic.content.truncated が true になる⁠[2]。

100 万トークンのコンテキストをまるごと残すには、4 MB ほど必要です⁠[2]。上限は、SDK なら traces.max_content_bytes、Console なら送り先の詳細な設定で変えられる⁠[2]。