Orbit

Orbit ビルドインサイトとデリバリーインサイト

Orbit has two insight views: a per-project Build Insights tab that answers "why are our builds slow", and an account-wide Insights page that answers "how well are we shipping". This guide covers…

Orbitには2つのインサイト表示があります。プロジェクトごとのBuild Insightsタブは「なぜビルドが遅いのか」に答え、アカウント全体のInsightsページは「どのくらい効率よくリリースしているか」に答えます。このガイドでは両方と、どちらを使う場合があるかについて説明します。

2つの表示がある場所

Build Insightsはプロジェクトごとです。Orbitを開き、プロジェクトをクリックして、プロジェクトタブストリップのObservabilityグループからBuild Insightsを選択します。

Insightsはアカウント全体です。Orbitを開き、トップレベルナビゲーションからInsightsを選択します。Mission controlとUsageの隣にあります。

Orbitプロジェクトの Build Insights タブ

Build Insights: サマリーカード

このタブは、ビルド期間パーセンタイル、キャッシュヒット率、成功率、および選択したウィンドウの傾向を示し、ウィンドウはページの上部で調整できます。

カード示す内容
Total builds実行されたビルド数。成功と失敗に分割
Success rateHealthyOK、またはNeeds attentionで評価
Build duration p50中央値のビルド。p95とp99が下に表示
Cache hit rateヒットと失敗の比較
Cache savingsキャッシュが節約した計算時間

p50とp95、p99のペアリングがポイントです。p50が90秒でp99が95秒のビルドは、良好な動作をしています。p50が90秒でp99が11分の場合は、時々非常に問題が発生し、平均化では完全に隠れてしまいます。

ウィンドウにビルドがない場合、ページはそう表示し、デプロイがより古い場合はより大きなウィンドウを選択することをお勧めします。

ビルド量と期間の傾向

傾向チャートは、ウィンドウ全体の日単位のビルド数を、平均期間オーバーレイとともにプロットします。日にホバーすると、カウント、成功と失敗の分割、および平均が表示されます。

2つのシリーズを一緒に読んでください。量が増加して期間が一定なのは、より多くをリリースしているヘルシーなチームです。量が一定で期間が増加しているのは、通常は依存関係の成長またはキャッシュの停止を通じて、静かに劣化するビルドです。

フレームワークとパッケージマネージャー

トレンドの下に2つの分類があります:

  • By framework: Orbitが検出したフレームワーク別に成功したビルドをグループ化します。
  • Package managers: すべてのビルド全体。

単一アプリプロジェクトでは、これらはそれぞれ1行であり、あまり興味深くありません。モノレポまたは複数のプロジェクトを持つアカウントでは、これは外れ値を特定する方法です: 異なるパッケージマネージャー上の1つのアプリ、または平均を引き下げているフレームワーク。

フレームワーク検出は、Orbitのデフォルトビルド設定も駆動します。Frameworks Orbit Supportsを参照してください。

最も遅いビルド

Slowest 10 successful buildsテーブルは、最悪のパフォーマンスをしているビルドをブランチ、期間、キュー時間とともにリストアップします。これらは最適化の候補として説明されます。

特にQueued列に注意してください。8分かかったビルドのうち6分がキュー待ちだった場合、これは遅いビルドではなく、ビルドホストが忙しい状態です。npm ciを最適化しても役に立ちません。8分かかったビルドでキュー時間がない場合は、真に遅く、対処する価値があります。

最も遅いビルドのビルドフェーズの前に、インストールフェーズを攻撃してください。インストールはウォームキャッシュが効果を発揮する場所であり、通常は最も簡単な勝利です。Configuring Your Build Command and Output Directoryは関連する設定を説明しています。

キャッシュセービング

このタブは、ウィンドウ全体にわたってビルドキャッシュが計算時間で節約した内容を定量化します。その数字は、キャッシュを健康に保つための議論です。

キャッシュヒット率が低い場合、通常の原因は:

  • すべてのコミットで変更されるロックファイル。これにより、毎回キャッシュが無効になります。
  • 意図的にクリアされたビルド。まだ再びウォームアップされていません。
  • デプロイ間の長いギャップ。

キャッシュをクリアするとこれがリセットされます。デバッグ中に習慣的にクリアする前に、覚えておく価値があります。

Delivery Insights: DORA メトリクス

アカウント全体のInsightsページは過去30日間をすべてのプロジェクトにわたってカバーし、DORAメトリクスとして数値をフレーム化します。パフォーマンスバンドはEliteHighMedium、またはLowで、前の30日間との比較が含まれます。

メトリクスページでの定義
Deploy frequencyデプロイの頻度。すべての環境、すべてのプロジェクト
Lead time (P50)コミットキュー登録からデプロイまで。P95も並べて表示
Change failure rate失敗した本番デプロイ
MTTR (median)失敗から次の本番成功まで

これら4つは意図的に緊張関係にあります。月に1回デプロイすることで変更失敗率を完璧に見せることができ、継続的にリリースして物事を壊すことでデプロイ頻度を優れたものに見せることができます。このセットは一緒に読む場合にのみ意味があり、前の30日間との傾向は絶対的なバンドよりも重要です。

プロジェクト分類

メトリクスの下には、同じ30日間のすべてのプロジェクトのテーブルがあります。デプロイ数、成功数、失敗数、および平均ビルド時間です。

これはアカウントを引き下げているプロジェクトを見つける最速の方法です: 低い成功率のプロジェクト、または平均ビルドが他のプロジェクトの数倍のプロジェクト。詳細については、次にそのBuild Insightsタブを開いてください。

データがまったくない場合、ページはそう表示し、ブランチにプッシュして開始するよう促します。

どのビューを開くか

  • ビルドが遅い場合。 Build Insights。プロジェクト上で。p50をp95と比較し、次にキュー待ち時間、その後最も遅いビルドテーブルを確認します。
  • ビルドが継続的に失敗する場合。 ビルドレートについてはBuild Insightsを確認し、理由については Analytics タブの失敗原因分類を確認します。Orbit Project Analyticsを参照してください。
  • 誰かがチームがどのようにリリースしているかを尋ねる場合。 Insights。アカウント全体。4つのDORAメトリクスとその傾向矢印がその質問に直接答えます。
  • 次に何をするかを選択している場合。 最初に Insights でプロジェクトを見つけ、次に Build Insights で原因を見つけます。

トラブルシューティング

ページが空ですが、デプロイしていることはわかっています。 ウィンドウを広げてください。Build Insights はあなたが予想するより短いウィンドウにデフォルトされ、アカウント全体のページは30日間で固定されています。

キャッシュヒット率がゼロです。 キャッシュが最近クリアされたか、または、プランにビルドキャッシュが含まれていません。Orbit Plan Limitsを参照してください。

リードタイムが非常に長く見えます。 リードタイムはコミットからライブまで測定されます。最初のコミットから数週間後にマージされたコミットが長いブランチはこれを膨らませます。これはバグではなく、実際の情報です。仕事がマージされないまま放置されていることを示しています。

MTTR が空です。 ウィンドウ内に本番障害がなかったため、回復するものがありません。それは良いケースです。

次に参照するもの

それでもお困りですか?

こちらまでメールでお問い合わせください support@kapsulehost.com またはKPanelでチャットを開いてください。

KPanel を開く