メインコンテンツへスキップ
Droidは、OpenTelemetry (OTEL) メトリクスをお客様のOTLP対応コレクターにエクスポートすることができ、既存の可観測性スタック内でDroidアクティビティの完全な可視性を提供します。メトリクスは同じエクスポートサイクルでFactoryのコレクターとお客様のコレクター両方に送信されます。お客様のコレクターにアクセスできない場合でも、Factoryのエクスポートは影響を受けません。

設定

Droidを起動する前に、以下の環境変数を設定してください:
export OTEL_TELEMETRY_ENDPOINT="https://your-collector.example.com:4318"
export OTEL_TELEMETRY_HEADERS="Authorization=Bearer <your-token>"
VariableRequiredDescription
OTEL_TELEMETRY_ENDPOINTYesOTLP HTTPコレクターのベースURL。メトリクスは{endpoint}/v1/metricsに送信されます。
OTEL_TELEMETRY_HEADERSNoすべてのエクスポートでHTTPヘッダーとして送信されるカンマ区切りのkey=valueペア。値には=を含めることができます(例:base64トークン)。

仕組み

  • OTEL_TELEMETRY_ENDPOINTが設定されている場合、メトリクスはファンアウトエクスポーターを介して同じエクスポートサイクルでお客様のエンドポイントに送信されます。追加のタイマーやメトリクスリーダーの重複はありません。
  • お客様のコレクターへの障害は、Factoryの独自エクスポートに影響しません。各エンドポイントは分離されています。
  • メトリクスはデルタテンポラリティを使用します。各エクスポートには、最後のフラッシュ以降の新しい値のみが含まれます(60秒間隔)。

エクスポートされるメトリクス

すべてのメトリクスはdroid.*名前空間を使用します。
MetricTypeDescription
droid.code.files_modifiedCounterセッション中に変更されたファイル数
droid.code.files_readCounterセッション中に読み取られたファイル数
droid.code.lines_modifiedCounter変更されたコード行数
droid.git.commitsCounter作成されたコミット数
droid.git.pull_requestsCounter作成されたプルリクエスト数
droid.tool.invocationsCounterツール呼び出し数
droid.tool.execution_timeHistogramツール実行時間(ミリ秒)
droid.mcp.tool_invocationsCounterMCPツール呼び出し数
droid.skill.invocationsCounterスキル呼び出し数
droid.hook.invocationsCounterフック呼び出し数
droid.slash_command.invocationsCounterスラッシュコマンド呼び出し数
droid.auth.login_successCounterログイン成功数
droid.repo.metadataGaugeリポジトリメタデータスナップショット

共通属性

すべてのデータポイントには、以下の属性が自動的に含まれます:
AttributeDescription
user.id認証済みユーザーID
organization.id組織ID
session.id現在のDroidセッションID
ツール固有の属性(tool.namemcp.serverskill.nameなど)は該当する場合に含まれます。リソース属性にはservice.namecli)とservice.versionが含まれます。

設定例

export OTEL_TELEMETRY_ENDPOINT="https://collector.example.com:4318"
export OTEL_TELEMETRY_ENDPOINT="http://localhost:4318"
export OTEL_TELEMETRY_ENDPOINT="https://otlp.datadoghq.com"
export OTEL_TELEMETRY_HEADERS="dd-api-key=<your-datadog-api-key>"
export OTEL_TELEMETRY_ENDPOINT="https://otlp.nr-data.net:4318"
export OTEL_TELEMETRY_HEADERS="api-key=<your-new-relic-license-key>"
export OTEL_TELEMETRY_ENDPOINT="https://api.honeycomb.io"
export OTEL_TELEMETRY_HEADERS="x-honeycomb-team=<your-api-key>,x-honeycomb-dataset=droid-metrics"

トラブルシューティング

  • コレクターが/v1/metricsパスでOTLP HTTPを受け入れることを確認してください。
  • OTEL_TELEMETRY_HEADERSに有効な認証クレデンシャルが含まれていることを確認してください。
  • Droidを実行しているマシンからコレクターへのネットワーク接続を確保してください。