Skip to content

ベータトレーシングのOTEL設定フラグ改善:機密データのオプトイン制御が可能に

原文(日本語に翻訳)

ベータトレーシングを改善:OTEL_LOG_USER_PROMPTSOTEL_LOG_TOOL_DETAILSOTEL_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  ← デフォルトなので設定不要

# パフォーマンスメトリクスのみ収集
claude

Grafana/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_PROMPTSfalseユーザーが入力したプロンプトの内容
OTEL_LOG_TOOL_DETAILSfalse使用されたツールの名前、パラメータ名など
OTEL_LOG_TOOL_CONTENTfalseツールの入力値・出力結果の全内容

注意点

  • プライバシーリスク: OTEL_LOG_USER_PROMPTS=true にするとプロンプト内容が外部のトレーシングシステムに送信されます。機密情報を含む場合は慎重に
  • ストレージ容量: OTEL_LOG_TOOL_CONTENT=true にするとトレースデータが大幅に増加します
  • ベータ機能: OTELトレーシングはベータ機能のため、今後の変更に注意してください
  • パフォーマンスへの影響: 詳細なトレーシングはわずかなパフォーマンス影響があります

関連情報