OpenTelemetryメトリクスのカスタムラベル: OTEL_RESOURCE_ATTRIBUTES対応
原文(日本語に翻訳)
OTEL_RESOURCE_ATTRIBUTES の値がメトリクスデータポイントのラベルとして含まれるようになりました。チームやリポジトリなどのカスタムディメンションで使用メトリクスをスライスできます。
原文(英語)
OTEL_RESOURCE_ATTRIBUTES values are now included as labels on metric datapoints, so you can slice usage metrics by custom dimensions like team or repo
概要
Claude Code v2.1.161では、OpenTelemetryの標準環境変数 OTEL_RESOURCE_ATTRIBUTES に設定した値が、メトリクスデータポイントのラベルとして自動的に付与されるようになりました。これにより、チーム別・リポジトリ別・プロジェクト別など任意のディメンションでClaude Codeの使用状況を分析・集計できます。大規模な組織での利用状況把握やコスト配分の可視化に特に有用です。
基本的な使い方
OTEL_RESOURCE_ATTRIBUTES 環境変数にキーバリュー形式でラベルを設定します。
bash
# チームとリポジトリの情報をラベルとして設定
export OTEL_RESOURCE_ATTRIBUTES="team=frontend,repo=my-app"
claude "コードレビューをお願いします"設定したラベルは、Claudeが送出するすべてのメトリクスデータポイントに自動的に付与されます。
実践例
チーム別の使用量トラッキング
bash
# .bashrc または .zshrc に追記
export OTEL_RESOURCE_ATTRIBUTES="team=backend,department=engineering"
# または起動時に指定
OTEL_RESOURCE_ATTRIBUTES="team=backend" claude "コードを分析してください"Grafanaなどのダッシュボードで team ラベルでフィルタリングすれば、チームごとの使用量が一目でわかります。
複数ディメンションの組み合わせ
bash
export OTEL_RESOURCE_ATTRIBUTES="team=ml,project=recommendation-engine,env=production,cost-center=ai-platform"
claude agentsCI/CD環境での自動ラベリング
yaml
# GitHub Actions での例
env:
OTEL_RESOURCE_ATTRIBUTES: "team=${{ vars.TEAM_NAME }},repo=${{ github.repository }},branch=${{ github.ref_name }}"Kubernetes環境でのラベル設定
yaml
# Kubernetes Pod のenv設定例
env:
- name: OTEL_RESOURCE_ATTRIBUTES
value: "namespace=$(MY_POD_NAMESPACE),pod=$(MY_POD_NAME),team=platform"注意点
- 複数のラベルはカンマ区切りで指定します(
key1=val1,key2=val2) - ラベルのキー・値にはスペースや特殊文字を含めないことを推奨します
- OpenTelemetryコレクターが設定されていない場合、この設定は効果がありません
OTEL_EXPORTER_OTLP_ENDPOINTなどの他のOTEL設定と組み合わせて使用します