Skip to content

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 agents

CI/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設定と組み合わせて使用します

関連情報