ベータトレーシングのOTEL設定フラグ改善:機密データのオプトイン制御が可能に
原文(日本語に翻訳)
ベータトレーシングを改善:OTEL_LOG_USER_PROMPTS、OTEL_LOG_TOOL_DETAILS、OTEL_LOG_TOOL_CONTENT を適切に尊重するようになり、機密性の高いスパン属性はオプトインしない限り出力されなくなりました
原文(英語)
Improved beta tracing to honor OTEL_LOG_USER_PROMPTS, OTEL_LOG_TOOL_DETAILS, and OTEL_LOG_TOOL_CONTENT; sensitive span attributes are no longer emitted unless opted in
概要
Claude CodeのOpenTelemetry(OTEL)ベータトレーシング機能が、ユーザープロンプトやツール詳細などの機密情報の制御を環境変数で細かく設定できるようになりました。デフォルトでは機密性の高いスパン属性は出力されず、明示的にオプトインした場合のみ収集されます。エンタープライズ環境でのコンプライアンス要件に対応しやすくなります。
基本的な使い方
デフォルト動作(機密データなし)
bash
# OTELエンドポイントを設定するだけでトレーシング開始
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
claude
# ユーザープロンプトやツール内容は収集されない(デフォルト)機密データのオプトイン
bash
# ユーザープロンプトをトレースに含める
export OTEL_LOG_USER_PROMPTS=true
# ツールの詳細情報をトレースに含める
export OTEL_LOG_TOOL_DETAILS=true
# ツールの入出力内容をトレースに含める
export OTEL_LOG_TOOL_CONTENT=true実践例
開発・デバッグ環境での詳細トレーシング
bash
# .env.development
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
OTEL_LOG_USER_PROMPTS=true
OTEL_LOG_TOOL_DETAILS=true
OTEL_LOG_TOOL_CONTENT=true
# すべての詳細を収集してJaegerなどで可視化
claude本番・コンプライアンス準拠環境
bash
# .env.production
OTEL_EXPORTER_OTLP_ENDPOINT=https://otel-collector.internal:4317
# 機密データは収集しない(デフォルト)
# OTEL_LOG_USER_PROMPTS=false ← デフォルトなので設定不要
# OTEL_LOG_TOOL_DETAILS=false ← デフォルトなので設定不要
# OTEL_LOG_TOOL_CONTENT=false ← デフォルトなので設定不要
# パフォーマンスメトリクスのみ収集
claudeGrafana/Jaegerとの統合
yaml
# docker-compose.yml(ローカルデバッグ用)
version: '3'
services:
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "16686:16686" # Jaeger UI
- "4317:4317" # OTLP gRPC
claude-dev:
environment:
OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4317
OTEL_LOG_USER_PROMPTS: "true"
OTEL_LOG_TOOL_DETAILS: "true"
OTEL_SERVICE_NAME: claude-code-dev段階的なデバッグ
bash
# Step 1: まずツール詳細だけを確認
export OTEL_LOG_TOOL_DETAILS=true
claude -p "コードをデバッグして"
# Step 2: 問題が特定できない場合、ツール内容も確認
export OTEL_LOG_TOOL_CONTENT=true
claude -p "コードをデバッグして"
# Step 3: プロンプトも含めて全体を確認
export OTEL_LOG_USER_PROMPTS=true
claude -p "コードをデバッグして"各環境変数の説明
| 環境変数 | デフォルト | 収集される情報 |
|---|---|---|
OTEL_LOG_USER_PROMPTS | false | ユーザーが入力したプロンプトの内容 |
OTEL_LOG_TOOL_DETAILS | false | 使用されたツールの名前、パラメータ名など |
OTEL_LOG_TOOL_CONTENT | false | ツールの入力値・出力結果の全内容 |
注意点
- プライバシーリスク:
OTEL_LOG_USER_PROMPTS=trueにするとプロンプト内容が外部のトレーシングシステムに送信されます。機密情報を含む場合は慎重に - ストレージ容量:
OTEL_LOG_TOOL_CONTENT=trueにするとトレースデータが大幅に増加します - ベータ機能: OTELトレーシングはベータ機能のため、今後の変更に注意してください
- パフォーマンスへの影響: 詳細なトレーシングはわずかなパフォーマンス影響があります