Skip to content

OpenTelemetry: @メンション解決の追跡ログイベント追加

原文(日本語に翻訳)

OpenTelemetry: @-メンション解決のための claude_code.at_mention ログイベントを追加しました。

原文(英語)

OpenTelemetry: added claude_code.at_mention log event for @-mention resolution

概要

Claude Code v2.1.122 では、OpenTelemetry のログイベントとして claude_code.at_mention が新たに追加されました。このイベントは、ユーザーが @ メンション(例: @ファイル名@URL@ドキュメント など)を入力した際の解決プロセスを追跡します。OpenTelemetry を活用した可観測性パイプラインを構築している場合、@メンション機能の利用状況やパフォーマンスをより詳細に分析できるようになります。

基本的な使い方

OpenTelemetry を設定した環境で Claude Code を使用すると、@ メンションが解決されるたびに自動的にログイベントが記録されます。

bash
# OpenTelemetry エンドポイントを設定
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

# Claude Code を使用(@メンションを含むプロンプト)
claude "@README.md の概要を教えてください"
# → claude_code.at_mention イベントが記録される

実践例

Jaeger でのイベント確認

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

# OpenTelemetry を有効にして Claude Code を使用
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
claude "@src/main.ts の処理フローを説明してください"

# Jaeger UI (http://localhost:16686) で claude_code.at_mention イベントを確認

ログイベントの構造

claude_code.at_mention イベントには以下の情報が含まれます:

json
{
  "event": "claude_code.at_mention",
  "mention_type": "file",      // file, url, doc など
  "mention_value": "@src/app.ts",
  "resolved": true,
  "resolution_time_ms": 42
}

Grafana ダッシュボードでの活用

yaml
# Prometheus/Loki クエリ例
# @メンション解決の成功率を計測
rate(claude_code_at_mention_total{resolved="true"}[5m])
  / rate(claude_code_at_mention_total[5m])

# 解決にかかった平均時間
histogram_quantile(0.95, rate(claude_code_at_mention_duration_ms_bucket[5m]))

注意点

  • このイベントは OpenTelemetry が設定されている環境でのみ記録されます
  • OTEL_EXPORTER_OTLP_ENDPOINT 環境変数を設定することで有効になります
  • 同バージョンで数値属性が文字列ではなく数値として正しくエミットされるようになる改善も含まれています
  • 大量の @メンションを使用するセッションではログ量が増加する点に注意してください

関連情報