Skip to content

原文(日本語に翻訳)

OTEL_LOGS_EXPORTEROTEL_METRICS_EXPORTER、または OTEL_TRACES_EXPORTERnone を設定した場合のクラッシュを修正しました。

原文(英語)

Fixed crash when OTEL_LOGS_EXPORTER, OTEL_METRICS_EXPORTER, or OTEL_TRACES_EXPORTER is set to none

概要

OpenTelemetryの標準的な設定として、エクスポーターを無効化するために none を値として設定することができますが、Claude Codeではこの設定を行うとクラッシュが発生していました。この修正により、OTEL_LOGS_EXPORTER=none などの設定が正しく処理され、クラッシュせずにOTELが無効化されます。

基本的な使い方

特定のOTELエクスポーターを無効化する:

bash
# ログエクスポーターのみ無効化
export OTEL_LOGS_EXPORTER=none

# メトリクスエクスポーターのみ無効化
export OTEL_METRICS_EXPORTER=none

# トレースエクスポーターのみ無効化
export OTEL_TRACES_EXPORTER=none

# すべてのエクスポーターを無効化
export OTEL_LOGS_EXPORTER=none
export OTEL_METRICS_EXPORTER=none
export OTEL_TRACES_EXPORTER=none

claude

実践例

ユースケース: 開発環境でOTELを選択的に無効化する

開発環境でトレースのみを無効化してログとメトリクスは有効にする:

bash
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
export OTEL_TRACES_EXPORTER=none  # トレースは不要
claude

ユースケース: OTELを完全に無効化する

OTELが設定されている環境でもすべてのテレメトリーを一時的に無効化する:

bash
export OTEL_LOGS_EXPORTER=none
export OTEL_METRICS_EXPORTER=none
export OTEL_TRACES_EXPORTER=none
claude

ユースケース: テスト環境でのOTEL設定

CI/CD環境でOTELサーバーが存在しない場合に、クラッシュを防ぐ:

yaml
# .github/workflows/test.yml
env:
  OTEL_LOGS_EXPORTER: none
  OTEL_METRICS_EXPORTER: none
  OTEL_TRACES_EXPORTER: none

注意点

  • none はOpenTelemetryの標準的な値であり、今後は正しく処理されます
  • この修正以前のバージョンでは、none を設定するとClaude Codeがクラッシュしていました
  • すべてのエクスポーターを無効にした場合、OTELのデータはどこにも送信されません

関連情報