Supported OS Linux Windows Mac OS

To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email [email protected].

概要

このインテグレーションは、Mergify で設定した各リポジトリのマージ キューの長さを監視し、Mergify のグローバルな稼働状況を追跡します。メトリクスを Datadog アカウントに送信することで、異常検知モニターを設定し、マージ キューのパフォーマンスを分析できます。Datadog インテグレーションを利用することで、Mergify サービスの稼働状況を把握し、開発ワークフローを最適化できます。

セットアップ

  • Datadog で: Integrations に移動し、Mergify タイルを選択して Install Integration をクリックします。
  • Connect Accounts をクリックして、このインテグレーションの認可を開始します。Mergify ダッシュボードにリダイレクトされます。
  • Mergify dashboard で: ログイン後、Datadog Integration を設定したい組織を選択し、Connect the integration をクリックします。

これで Mergify の統計が Datadog に表示されるようになります。

アンインストール

  1. Mergify ダッシュボードに移動してログインし、Integrations に進みます。
  2. Datadog タイルで Disconnect ボタンをクリックします。

このインテグレーションをアンインストールすると、それ以前に与えられた認可は全て取り消されます。

注: Datadog の API Keys ページでインテグレーション名を検索し、本インテグレーションに関連するすべての API キーが無効化されていることを確認してください。

収集データ

メトリクス

mergify.merge_queue_length
(gauge)
[Deprecated] Merge queue length. Use mergify.queue.size.max instead
mergify.time_to_merge.median
(gauge)
[Deprecated] Median time to merge. Use mergify.queue.total_queue_time instead
Shown as second
mergify.time_to_merge.mean
(gauge)
[Deprecated] Mean time to merge. Use mergify.queue.total_queue_time instead
Shown as second
mergify.queue_checks_outcome
(gauge)
[Deprecated] Number of queue operation outcomes by outcome_type tag. Use mergify.queue.check_outcome instead
mergify.queue.entered
(count)
Number of pull requests that entered the merge queue
mergify.queue.merged
(count)
Number of pull requests merged from the queue
mergify.queue.size.max
(gauge)
Maximum number of pull requests waiting in the queue during the period
mergify.queue.batch_size.sum
(count)
Sum of batch sizes in pull requests per batch. Divide by mergify.queue.batch_size.count for the average batch size
mergify.queue.batch_size.count
(count)
Number of batches observed. Denominator for the average batch size
mergify.queue.running_checks.max
(gauge)
Maximum number of concurrent CI checks running for the queue during the period
mergify.queue.exit_reason
(count)
Number of pull requests that left the queue split by reason in the exit_reason tag
mergify.queue.check_outcome
(count)
Number of batch check outcomes split by result in the outcome tag
mergify.queue.checks_retries.recovered
(count)
Number of CI check sessions that recovered after a retry
mergify.queue.checks_retries.not_recovered
(count)
Number of CI check sessions that did not recover after a retry
mergify.queue.bisection.started
(count)
Number of batch bisections started to isolate a failing pull request
mergify.queue.total_queue_time.sum
(count)
Sum of total time pull requests spent in the queue. Divide by mergify.queue.total_queue_time.count for the average queue time
Shown as second
mergify.queue.total_queue_time.count
(count)
Number of pull requests that left the queue. Denominator for the average total queue time
mergify.queue.ci_runtime.sum
(count)
Sum of CI runtime across queued pull requests. Divide by mergify.queue.ci_runtime.count for the average CI runtime
Shown as second
mergify.queue.ci_runtime.count
(count)
Number of CI runtime samples. Denominator for the average CI runtime
mergify.queue.idle.capacity.sum
(count)
Sum of time pull requests spent waiting for queue capacity (CI slots). Divide by mergify.queue.idle.count for the average
Shown as second
mergify.queue.idle.schedule.sum
(count)
Sum of time pull requests spent waiting on a merge schedule. Divide by mergify.queue.idle.count for the average
Shown as second
mergify.queue.idle.freeze.sum
(count)
Sum of time pull requests spent waiting on a queue freeze. Divide by mergify.queue.idle.count for the average
Shown as second
mergify.queue.idle.count
(count)
Number of queue-leave events. Shared denominator for the mergify.queue.idle.*.sum metrics

The merge queue stats metrics (prefixed mergify.queue.) cover three categories:

  • Throughput: pull requests entered and merged, queue size, batch size, and concurrent running checks.
  • Queue Health: queue exit reasons, batch check outcomes, CI check retries, and batch bisections.
  • Performance: total queue time, CI runtime, and idle time spent waiting for capacity, schedules, or freezes.

These metrics are tagged by repository, branch, queue, and priority_rule. Duration and size averages are submitted as sum and count companions, derived in Datadog as sum / count (for example, mergify.queue.total_queue_time.sum / mergify.queue.total_queue_time.count).

メトリクス mergify.queue_checks_outcome で利用可能な outcome_type タグは次のとおりです:

  • PR_DEQUEUED: 手動でキューから除外された PR の数
  • PR_AHEAD_DEQUEUED: キュー内で先行していた PR が除外されたために除外された PR の数
  • PR_AHEAD_FAILED_TO_MERGE: 先行していた PR のマージ失敗により除外された PR の数
  • PR_WITH_HIGHER_PRIORITY_QUEUED: より高い優先度の PR がキューに追加されたために除外された PR の数
  • PR_QUEUED_TWICE: 重複して 2 回キューに追加されたために除外された PR の数
  • SPECULATIVE_CHECK_NUMBER_REDUCED: 設定のスペキュレーティブ チェック数が変更されたために除外された PR の数
  • CHECKS_TIMEOUT: スペキュレーティブ チェックがタイムアウトしたために除外された PR の数
  • CHECKS_FAILED: スペキュレーティブ チェックが失敗したために除外された PR の数
  • QUEUE_RULE_MISSING: PR をキューに追加したキュー ルールが設定から削除されたために除外された PR の数
  • UNEXPECTED_QUEUE_CHANGE: ユーザーがキュー内のプル リクエストを操作したために除外された PR の数
  • PR_FROZEN_NO_CASCADING: カスケード効果のないフリーズによって凍結されたために除外された PR の数
  • TARGET_BRANCH_CHANGED: PR のターゲット ブランチが変更されたために除外された PR の数
  • TARGET_BRANCH_MISSING: PR のターゲット ブランチが存在しなくなったために除外された PR の数
  • PR_UNEXPECTEDLY_FAILED_TO_MERGE: 予期せずマージに失敗したために除外された PR の数
  • BATCH_MAX_FAILURE_RESOLUTION_ATTEMPTS: バッチの失敗解決試行回数が上限に達したために除外された PR の数

サービスチェック

Mergify にはサービスチェックが含まれていません。

イベント

Mergify には、イベントは含まれません。

サポート

ご不明な点は、Mergify サポートまでお問い合わせください。