Skip to content

原文(日本語に翻訳)

  • デバッグ用に、API リクエストとレスポンスの完全なボディを OpenTelemetry ログイベントとして出力する OTEL_LOG_RAW_API_BODIES 環境変数を追加しました

原文(英語)

  • Added OTEL_LOG_RAW_API_BODIES environment variable to emit full API request and response bodies as OpenTelemetry log events for debugging

概要

OTEL_LOG_RAW_API_BODIES 環境変数を設定することで、Claude Code が送受信する API の完全なリクエスト・レスポンスボディを OpenTelemetry ログイベントとして出力できます。API 通信のデバッグや、プロンプト最適化のための詳細なログが必要な場合に役立ちます。

基本的な使い方

環境変数を設定して起動

bash
export OTEL_LOG_RAW_API_BODIES=1
claude "コードをレビューして"

OpenTelemetry コレクターと組み合わせる

bash
# OTLP エンドポイントの設定と組み合わせ
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
export OTEL_LOG_RAW_API_BODIES=1
claude "テストを実行して"

実践例

プロンプトのデバッグ

bash
# API に送られているリクエストを確認
OTEL_LOG_RAW_API_BODIES=1 claude "デバッグしたいタスク"

システムプロンプト、ツール定義、コンテキストが実際にどのような形式で送信されているかを確認できます。

Jaeger での可視化

bash
# Jaeger をローカルで起動
docker run -d --name jaeger \
  -p 16686:16686 \
  -p 4317:4317 \
  jaegertracing/all-in-one:latest

# Claude Code を OpenTelemetry 付きで起動
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
export OTEL_LOG_RAW_API_BODIES=1
claude "タスクを実行して"

# http://localhost:16686 でログを確認

トークン使用量の詳細分析

bash
OTEL_LOG_RAW_API_BODIES=1 claude "大きなコードベースを分析して" 2>&1 | grep -i "usage"

注意点

  • セキュリティ警告: API ボディにはプロンプト内容、コードスニペット、機密情報が含まれる場合があります。本番環境での常時有効化は避けてください
  • ログ量が大幅に増加するため、ストレージへの影響を考慮してください
  • OpenTelemetry コレクターが設定されていない場合、ログの出力先によっては確認が難しいことがあります
  • この機能は主にデバッグ・開発目的です

関連情報