Builds ページ


「Builds」ページではデプロイメント全体のビルド概要だけでなく、特定のビルドや Agent (イニシエーター) の実行に関する情報など IncrediBuild で行われたビルド*のさまざまな詳細をご覧になれます。このページに表示される値はフィルターを使って絞り込むことができます。

*本マニュアルページとダッシュボードにて使用している「ビルド」という用語は、コンパイルやリンクなどのいわゆる「ビルド」処理だけでなく、IncrediBuild で行われたすべての実行処理を指します。


メニュー:


フィルター

「Builds」ページに表示するデータを絞り込むことができます。

注: 本ページにて表示される値は、ビルド フィルターで絞り込んだビルドの情報のみが反映された値となります。


ページ ヘッダー


ページ左上の「Build Overview」下の [Valid For] には日時が表示されますが、これはページの最終更新時にデータが最後に更新された日時となります。ここに表示される日時がページ内で期間フィルターを適用する際の現在時刻となります。データは 1 時間ごとに自動的に更新されます。期間フィルターで設定される期間は現在時刻に基づきます。 

注: ページを再読み込みすると現在時刻を手動で更新できます。但し、更新した場合は、設定されたフィルターがリセットされ、全てのパラメーターがデフォルトの数値に戻されます。

期間フィルター

期間フィルターを使用すると、Buildsページに表示されるデータをフィルターし、指定した期間のデータのみ含まれるデータとして表示します。

プリセットされた期間のボタンをクリックして期間を指定するか、カスタムで時間範囲を作成する事も可能です。

プリセットの時間範囲は下表の通りです。

注: 以下の説明ではデータの最終更新日時を現在時刻としています。

項目

説明

12H

現在時刻から 12 時間前までに実行されたビルドのデータを含めます。

24H

現在時刻から 24 時間前までに実行されたビルドのデータを含めます。デフォルトで選択されています。

Today

現在日の 00:00 から現在時刻までに実行されたビルドのデータを含めます。

カスタムの時間範囲を設定する方法

  1. ページ ヘッダーで [Custom] をクリックします。

      2.[Pick a Date Range] 画面が表示されます。

    

      3.[From Date] をクリックします。

       


  • カレンダーが表示されます。
  • 日付を選択します。
  • デフォルトで現在日が選択されています。
  • • 前の月に移動するにはカレンダー上部の左向き矢印をクリックし、選択したい日をクリックします。
  • [OK] をクリックします。

      4. [To Date] フィールドも同様に選択します。

プロダクト フィルター

特定の(単一もしくは複数の)プロダクトに関連するビルドのみを集計対象にします。フィルターを適用する前に「Configuration」ページの「Product 設定 」タブでプロダクトのプロフィールを作成する必要があります。
.

プロダクト フィルターの設定方法

[Products] フィールドをクリックします。

複数選択可能なプロダクトリストが表示されます。

含めたいプロダクトの横にあるチェックボックスをオンにします。

注:

  • フィルターが適用されると [Product] フィールドに赤字でプロダクト名が表示されます。
  • デフォルトではビルドコマンドによる絞り込みなしで、すべてのビルドが表示されます。 
  • プロダクトを未作成の場合は [Add Products] オプションがドロップダウン メニューに表示されます。

ビルドタイプ フィルター

特定タイプのビルドに絞り込んで表示できます。ビルドタイプは複数選択できます。

注: Visual Studio IDE または BuildConsole コマンドラインから実行されたビルドは Visual Studio ビルドとしてビルドタイプに登録されています。その他のビルドや処理は「Unknown」として表示されます。


ビルドタイプは下表の通りです。

タイプ

説明

Build

Visual Studio ソリューションまたはプロジェクトのインクリメンタル ビルド。

Clean

Visual Studio ソリューションまたはプロジェクトのクリーン ビルド。

Rebuild

Visual Studio ソリューションまたはプロジェクトのリビルド (クリーンしてからのビルド)。

Unknown

Visual Studio ビルド以外の IncrediBuildによる実行処理。

ビルドタイプフィルターの設定方法

  1. ページ ヘッダーの [Build Type] フィールドをクリックします。
  2. 複数選択可能なビルドタイプリストが表示されます。
  3. 表示したいビルドタイプの横にあるチェックボックスをオンにします。
  4. フィルターが適用され、選択したビルドタイプが表示されます。

注: デフォルトではすべてのビルドタイプが表示されます。


ビルド KPI サマリー


ヘッダー下のビルド KPI サマリーには IncrediBuild インフラで行われたビルドに関する集計されたデータによる KPI 値の統計が表示されます。


注: 

  • ページ内のすべてのデータ (KPI サマリーを含む) はビルド フィルターで絞り込んだ値に基づいています。 
  • 選択した期間にて、 選択したプロダクト タイプ / 選択したビルド タイプ/選択したAgent グループによって開始されたビルドのみがデータとして使用されます。

KPI サマリーには次の情報が表示されます。

カテゴリー

説明

Builds Executed

IncrediBuild で実行されたビルドの合計数。

Build Status

Successful - IncrediBuild により実行され、正常に完了したビルド数。 
Failed - IncrediBuild によって実行され、失敗したビルド数。システムやユーザーによって中止されたビルド数も含まれます。

Avg. Build Duration

IncrediBuild で実行した各ビルドの平均実行時間。

Distributed [%]

合計時間に対するローカル Agent とリモート Agent で行われた処理の割合。この値はリモート Agent コアで実行したビルドの合計時間を、すべての Agent (ローカルとリモート) で実行したビルドの合計時間で割って算出されます。例えば、ローカル Agent と 9 台のリモート Agent でビルドを 1 時間行った場合、リモート Agent コアで行った処理の合計時間 (9 時間) をビルドの合計時間 (10 時間) で割って、分散処理されたタスクの割合 (90%) を算出します。 

注: リモート コアを使用するとローカル Agent の負荷が軽減されます。そのため、分散処理の割合が大きいほど IncrediBuild を効果的に利用できていることを示しています。

Builds Execution Over Time ディスプレイ
このセクションでは時間の経過に伴うビルドの KPI の推移をグラフで確認できます。グラフは上下に分かれており、上のグラフでは時間の経過に伴う「成功したビルドと失敗したビルド (Success vs Fail)」または「ビルドタイプ (Build Type)」のどちらかを選択できます。デフォルトでは「成功したビルドと失敗したビルド」のグラフが選択されています。下のグラフでは時間の経過に伴う分散処理の割合の推移を確認できます (表示項目の詳細は「ビルド KPI サマリー」を参照)。特定の時点で表示されるデータは、最後に集計されたデータから指定した時間までに開始された全てのビルドに関するデータが表示されます。 

  1. グラフには直近 2 週間は時間毎、 それ以前は日毎の集計データが表示されます
  2. グラフの上部に表示項目と表示色の凡例が表示されます。 

次の方法で表示を変更することができます。

  • 表示 / 非表示 - 凡例のデータ項目をクリックするとグラフを表示 / 非表示できます。デフォルトではすべてが表示されているため、項目をクリックすると非表示になります。
注: フィルターで除外されているビルドタイプのデータは凡例をクリックしても表示されません。
  • データ表示 - グラフの任意の場所にカーソルを合わせると、その地点の日時とデータがポップアップ表示されます。

: 上下のグラフはリンクしています。上のグラフで任意の時点にカーソルを合わせると、下のグラフにもデータがポップアップ表示されます。

  • ズーム - タイムライン上でドラッグした範囲を拡大表示して、すばやくデータの詳細を表示できます。タイムライン全体の表示に戻るには、グラフ右上の [Reset Zoom] ボタンをクリックします。


このセクションでは 2 つの基準 (「ビルドの所要時間」と「処理したビルド数」) において、上位順または下位順の Agent を棒グラフで確認できます。ビルド フィルターで設定したデータが適用されます。

それぞれのグラフの上部に表示項目と表示色の凡例が表示されます。

Agent 表示数フィルター

ドロップダウン リストにより、表示する Agent の数を選択できます (5、10、20 のいずれか)。また、パフォーマンスの上位順 (Top Initiators) または下位順 (Bottom Initiators) のどちらを表示するかを選択できます。

Time Spent Building

このセクションでは特定の Agent が開始したすべてのビルドの総所要時間を確認できます。上位順または下位順いずれかの Agent を表示できます。

グラフには Agent の名前と時間が表示されます。 
次の方法で表示を変更することができます。

  • 表示 / 非表示 - 凡例の Agent 名をクリックするとグラフを表示 / 非表示できます。デフォルトではすべての Agent が表示されているため、項目をクリックすると非表示になります。
  • データ表示 - 各 Agent の棒グラフにカーソルを合わせると詳細データがポップアップで表示されます。Agent 名、Agent が Coordinator に接続されていた合計時間に対するビルド時間の割合、ビルドの総所要時間などが表示されます。

Number of Builds Executed

このセクションでは任意のイニシエーター Agent によって開始されたビルドの総数 (成功、失敗をともに含む) を確認できます。上位または下位の Agent を表示できます。グラフには Agent 名とビルド数が表示されます。 

注: グラフはビルド数のみを表し、ビルド時間は除外されているため、ここに表示される Agent のリストおよび順序は前述の「Time Spent Building」のグラフと必ずしも同じとは限りません。

次の方法で表示を変更することができます。

  • 表示 / 非表示 - 凡例の Fail または Success をクリックするとグラフを表示 / 非表示できます。デフォルトでは成功したビルドと失敗したビルドの両方が表示されます。
  • データ表示 - 各 Agent の棒グラフにカーソルを合わせるとビルドの総数、成功 / 失敗したビルド数がポップアップで表示されます。

5 Longest Builds ディスプレイ


このセクションでは処理時間の長かった上位 5 つのビルドを確認できます。棒グラフ下の矢印アイコンをクリックするとビルドの詳細情報が表示されます。 



項目は次の通りです。

項目

説明

Agent Name

イニシエーター Agent の名前。

Status

ビルドのステータスは Success または Failed のいずれかになります。 
Success - 正常に完了したビルド。 
Failed - 失敗したビルド。システムやユーザーがビルドを中止したことで、システムが処理を継続できなくなったビルドも含みます。

Duration

ビルドの実行時間。

Distributed [%]

合計時間に対するローカル Agent とリモート Agent で行われた処理の割合。この値はリモート Agent コアで実行したビルドの合計時間を、すべての Agent (ローカルとリモート) で実行したビルドの合計時間で割って算出されます。例えば、ローカル Agent 9 台のリモート Agent でビルドを 1 時間行った場合、リモート Agent コアで行った処理の合計時間 (9 時間) をビルドの合計時間 (10 時間) で割って、分散処理されたタスクの割合 (90%) を算出します。

上記はAgent単位(マシン単位)での表記をしましたが、実際は、「コア時間」で算出しています。リモートコアでの実行のコア時間数を取得し、それをすべてのコア(ローカルコアを含む)での実行のコア時間の合計で割ることによって計算されます。 

例えば、ローカルAgentのコア数が64であり、リモートAgentの1台コア数が8で、8台のリモートAgentに分散処理されたとすると(合計64コア)、1時間のビルドの場合、リモートAgentの総コア時間は(8 × 8=)64コア時間となり、ローカルの総コア時間も64コア時間となります。リモートAgentの総コア時間を、ビルドに参加した全てのコア(ローカルAgentのコア数を含む) 128で割ることになるため、本項目に表示される分散割合は50%となります。

Avg. Additional Cores Needed

ビルドで利用可能だった (実際には利用できなかった) コアの平均数。IncrediBuildはビルド処理中に、追加で必要とされるコア数を毎秒記録します。よって、最終的に1 秒ごとに追加で必要なコア数が集計され、その合計をビルドの実行時間 () で割った値が表示されます。たとえば、値が「0」の場合は開発環境にコアを追加してもビルドの効率は向上しません。この値が大きいほど、コアを追加することによるパフォーマンスの向上を見込めます。

Peak Additional Cores Needed

ビルド中に必要とされたコアの最大数。

Time Saved

すべてのビルドをイニシエーター Agent のみで実行した場合と比較して、節約できた時間。値はすべてのリモート (ヘルパー) Agent のコア稼働時間*を集計して、イニシエーター Agent のコア数で割って算出します。リモート Agent は (I/O やネットワーク遅延の要因で) イニシエーター Agent よりも効率が悪いため 1/1.5 (0.6666...) 倍されます。例えば、イニシエーター Agent が 4 コア、リモート Agent が 12 コアで 1 時間ビルドを実行した場合、「12 コア稼働時間 ÷ 4 コア稼働時間 (イニシエーター Agent のコア数) = 3 時間」となります。これに 1/1.5 を掛けて、このビルドで短縮できた時間を計算します。この例では 2 時間となります。
仮定と近似に基づいて計算を行うため、表示される値は実際に短縮した時間の概算値となります。


*コア稼働時間は各コアの利用時間です。たとえば、4 コアのマシンを 1 時間稼働させて、すべてのコアを完全に利用した場合は 4 コア稼働時間と考えます。

Avoid Local

ビルドを開始したユーザーが設定したBoolean型の設定値。 
True - リモートで実行可能なタスクはすべてリモート Agent で実行し、ローカル Agent では実行しない。 
False - IncrediBuild の判断により、分散可能なタスクをローカルまたはリモート Agent で実行する。

Start Time

ビルドを開始した日時。

End Time

ビルドが完了した日時。

Avg Used Cores

ビルド実行中の任意の時点で使用されたコアの平均数。使用コア数は毎秒記録されます。よって、最終的に1 秒ごとに使用されたコア数が集計され、その合計をビルドの総実行時間 (秒) で割った値が表示されます。

Product

ビルドコマンドにプロダクト名(単数、複数)が設定されていた場合の、プロダクト名。

Command

ビルドの実行時の、コマンドライン全文。

5 Top Distributed Builds ディスプレイ


このセクションには、分散処理の割合が大きかった上位 5 つのビルドが表示されます。 (分散処理の割合については前述の「ビルド KPI サマリー」を参照)。棒グラフ下の矢印アイコンをクリックするとビルドの詳細情報が表示されます。表示項目の詳細については5 Longest Builds ディスプレイの項目リストをご覧ください。.

ビルド グリッド

 
このセクションではビルドの詳細な情報を確認できます。ページ毎のリストに表示されるビルド数は最大 10 個です。各ビルドの詳細が右側の列に表示されます。セクションの一番下に表示されている矢印アイコンをクリックすると次のリストを表示できます。各項目をクリックして昇順 / 降順に並べ替えることができます。分析モード (Analysis Mode) ではより詳細な分析を行うことができます。

ビルド グリッド フィルター

フィルターを使って表示項目を絞り込むことができます (各項目の詳細は後述の「表示項目の詳細」を参照)。「分析モード」を開いてより詳細な分析を行うことができます。

表示項目の変更方法

  1. セクション上部の [COLUMNS] フィルターをクリックします。
  2. 表示項目がドロップダウン リストで表示されます。
  3. 表示したい項目のチェックボックスをオンにします。
  4. 選択済みの項目はチェックボックスをオフにすると非表示にできます (デフォルトではリストの上から 6 つの項目が選択済み)。
  5. 選択した項目がグリッドに表示されます。


注:

  • Visual StudioのIDE、もしくは IncrediBuildの BuildConsole コマンドにて実行された Visual Studio ビルドのみがビルドタイプに表示されます。その他のビルドは「Unknown」として表示されます。
  • 選択した項目が画面に入りきらない場合はグリッドの下にスクロール バーが表示されます。

分析モードの利用方法

  • セクション上部の [Analysis Mode] をクリックします。

並び替え

グリッドに表示されているビルドは項目ごとに昇順 / 降順に並び替えることができます。

ビルドを並び替える

  1. 各項目の上向き矢印をクリックすると、降順 (上→下) に並び替えることができます。
  2. 各項目の下向き矢印をクリックすると、昇順 (下→上) に並び替えることができます。


注: 選択した列だけでなくグリッド全体のビルドの表示順序が変わります。

表示項目の詳細

項目

説明

Build Caption

特定のビルド処理を表す文字列。ユーザーによる定義、または自動で生成することもできます。ビルドの実行で使用したソリューション名と組み合わせることもできます。コマンドラインからビルドを実行した場合、Titleの引数を指定しなかった場合には、Build Caption は適用されないため、この項目は空となります。

Status

ビルドのステータスは Success または Failed のいずれかになります。 
Success - 正常に完了したビルド。 
Failed - 失敗したビルド。システムやユーザーがビルドを中止したことで、システムが処理を継続できなくなったビルドも含みます。

Start Time

ビルドを開始した時間。

Duration

ビルドの実行時間。

Initiator

イニシエーター Agent の名前。

Distributed

合計時間に対するローカル Agent とリモート Agent で行われた処理の割合。この値はリモート Agent コアで実行したビルドの合計時間を、すべての Agent (ローカルとリモート) で実行したビルドの合計時間で割って算出されます。例えば、ローカル Agent 9 台のリモート Agent でビルドを 1 時間行った場合、リモート Agent コアで行った処理の合計時間 (9 時間) をビルドの合計時間 (10 時間) で割って、分散処理されたタスクの割合 (90%) を算出します。

上記はAgent単位(マシン単位)での表記をしましたが、実際は、「コア時間」で算出しています。リモートコアでの実行のコア時間数を取得し、それをすべてのコア(ローカルコアを含む)での実行のコア時間の合計で割ることによって計算されます。 

例えば、ローカルAgentのコア数が64であり、リモートAgentの1台コア数が8で、8台のリモートAgentに分散処理されたとすると(合計64コア)、1時間のビルドの場合、リモートAgentの総コア時間は(8 × 8=)64コア時間となり、ローカルの総コア時間も64コア時間となります。リモートAgentの総コア時間を、ビルドに参加した全てのコア(ローカルAgentのコア数を含む) 128で割ることになるため、本項目に表示される分散割合は50%となります。

Avg. Cores Used

ビルド実行に際し、使用されたコアの平均数。使用コア数は毎秒記録されます。1 秒ごとに使用されているコア数が集計され、その合計をビルドの総実行時間 (秒) で割った値が表示されます。

Build Command

ビルドの実行に使われたコマンドライン。スペースの関係上グリッドには表示されませんが、ビルドの [Show] にカーソルを合わせるとビルド コマンドの全文がポップアップで表示されます。

Build Type

実行したビルドのタイプ。ビルド タイプは次の通りです。 

  • Build - Visual Studio ソリューションまたはプロジェクトのインクリメンタル ビルド。 
  • Clean - Visual Studio ソリューションまたはプロジェクトのクリーン ビルド。 
  • Rebuild - Visual Studio ソリューションまたはプロジェクトのリビルド (クリーンしてからのフルビルド)。 
  • Unknown - Visual Studio ソリューションビルド以外 のIncrediBuild の処理。 
    注: Visual Studio IDE または IncrediBuild の BuildConsole コマンドラインで実行される Visual Studio ビルドのみがビルドタイプに登録されています。その他のビルドや処理は「Unknown」として表示されます。

Estimated Time Saved

すべてのビルドをイニシエーター Agent のみで実行した場合にかかったと予測された時間と、実際のビルド時間との比較により、削減できた時間を表します。

: イニシエーター Agent のみで行われたビルドと比較した場合の短縮時間を表しています。

値はすべてのリモート (ヘルパー) Agent のコア稼働時間*を集計して、イニシエーター Agent のコア数で割って算出します。リモート Agent (I/O やネットワーク遅延の要因で) イニシエーター Agent よりも効率が悪いため 1/1.5 (0.6666...) 倍されます。例えば、イニシエーター Agent 4 コア、リモート Agent 12 コアで 1 時間ビルドを実行した場合、「12 コア稼働時間 ÷ 4 コア稼働時間 (イニシエーター Agent のコア数) = 3 時間」となります。これに 1/1.5 を掛けて、このビルドで短縮できた時間を算出します。この例では 2 時間となります。 
仮定と近似に基づいて計算を行うため、表示される値は実際に短縮した時間の概算値となります。

*コア稼働時間は各コアの利用時間です。たとえば、4 コアのマシンを 1 時間稼働させて、すべてのコアを完全に利用した場合は 4 コア稼働時間と考えます。

End Time

ビルドが完了した時間。

Avg. Additional Cores Needed

ビルドで利用可能だった (実際には利用できなかった) コアの平均数。IncrediBuildはビルド処理中に、追加で必要とされるコア数を毎秒記録します。よって、最終的に1 秒ごとに追加で必要なコア数が集計され、その合計をビルドの実行時間 () で割った値が表示されます。たとえば、値が「0」の場合は開発環境にコアを追加してもビルドの効率は向上しません。この値が大きいほど、コアを追加することによるパフォーマンスの向上を見込めます。

Peak Cores Needed

ビルド中に必要とされたコアの最大数。

Peak Cores Used

ビルド中に同時に使用されたコアの最大数。

Avoid Local

ビルドを開始したユーザーが設定したBoolean型の設定値。 
True - リモートで実行可能なタスクはすべてリモート Agent で実行し、ローカル Agent では実行しない。 
False - IncrediBuild の判断により、分散可能なタスクをローカルまたはリモート Agent で実行する。

Product

ビルドコマンドにプロダクト名(単数、複数)が設定されていた場合の、プロダクト名。