Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »


Builds Page

The Builds page shows information about the builds executed using IncrediBuild (In this document and in the dashboard terminology, a build refers to any execution that was executed with IncrediBuild and not only compilations). This includes both general information about build execution across your entire deployment as well as specific information about specific builds and executing Agents (i.e. Initiators). You can set filters to specify the parameters for the data represented and displayed on this page. 

On this page:


Filters

Filters allow you to set the parameters for the data that is represented on the Builds page. 

Note: All measures displayed on this page represent only to the data within the parameters set from the build Filters.


Page Header


In the Page Header, below "Builds Overview", the Valid For information is displayed. This shows the date and time that the data represented on this page was last refreshed. This is considered to be the current time regarding the time filters set for the page. The data refreshes automatically every hour, assuming that the Time Filter is set for a time range that is dependent on the current time. 

Note: You can update the current time manually by refreshing the page. However, refreshing the page will also reset any filters that you have set and return them to their default settings.

Time Filter

The Time filter enables you to filter the data represented on the Builds page to include only builds run during the specified time period. 


You can set the time filter using one of the preset time range buttons or you can create a custom time range.

The preset time ranges are described in the following table:

Note: In the descriptions below, the Current time refers to the time that the data on the page was last refreshed.

Category

Description

12H

Includes data from builds executed in the 12 hours prior to the current time.

24H

Includes data from builds executed in the 24 hours prior to the current time. This is the default selection.

Today

Includes data from builds executed from 00:00 of the current day up to the current time.

To set a custom time range:

  1. Click on Custom in the Page Header filter pane.

      2. Pick a Date Range window is displayed:

 

        3. Click on the From Date field.

  • A calendar selection window is displayed.
  • Select a date.
  • The default is set for the current date.
  • To select a date from a previous month, click the back arrow on the top of the calendar and then select a date.
  • Click OK.

      4. Do the same for the end date.

Product Filter

The Product filter enables you to filter the data represented on this page to include only builds associated with a specific product (or products). The product profiles must first be created in the Products Configuration page before they can be applied to the Builds page .
.

To set the Product filter:

Click on the Product field.

A multi-select list of products is displayed:

Click the checkbox next to each of the products to be included.

Notes:

  • Once this filter is applied, the filter will be marked.
  • The default value is set to include all build commands regardless of products. 
  • If no products have been created an option to Add Products is displayed in the Product filter drop down menu.

Build Types Filter

The Build Types filter enables you to filter the data represented on the Builds page to include only builds of a specified type. You can select one or more Build Types to be included in the data displayed.

Note:

  • Specific Build Types are registered for Visual Studio builds which are executed through the IDE or the IncrediBuild BuildConsole command line. All other builds or other executions are registered as Unknown.


The Build Types are described in the following table:

Category

Description

Build

An Incremental build operation of a Visual Studio solution or project/s.

Clean

A clean build operation of a Visual Studio solution or project/s.

Rebuild

A full rebuild operation, which consists of Clean and Build operations of a Visual Studio solution or project/s.

Unknown

Other IncrediBuild executions which are not Visual Studio compilations.

To set the Build Types filter:

  1. Click on the Build Types field from the Page Header filters pane.
  2. A multi-select list of the Build Types is displayed.
  3. Click the checkbox next to each of the Build Types to be included.
  4. The filter is applied. The selected Build Types are shown on the display.

Note: The default is set to display all Build Types.


Builds KPI Summary


The Builds KPI Summary shows aggregated statistics for the KPI measures related to build usage of the IncrediBuild Infrastructure.


Notes: 

  • All data represented on the Builds page, including the KPI Summary are based on the parameters set in the Builds filters. 
  • That means that data for a build is only represented in the measures on this page if the build was run during the selected time period, was related to the selected Product type, was of the selected build type and was initiated by the selected Initiator Group.


The information displayed in the KPI Display is explained in the following table:

Category

Description

Builds Executed

The total number of builds executed using IncrediBuild.

Build Status

Successful - The number of builds successfully completed by IncrediBuild. 
Failed - The number of builds that were initiated using IncrediBuild that were not completed successfully. This number includes Builds that failed to execute, as well as builds that were aborted by the system or by the user.

Avg. Build Duration

The average time that it took to execute each build using IncrediBuild.

Distributed [%]

The percentage of the total time were executed remotelybuilds execution that was done on remote as opposed to local Agents. This value is calculated by taking the total duration of builds all executed on remote Agents cores and dividing it by the total duration of builds executed on all Agents remote and local cores.(including local Agents). For example: if a build was executed on the local Agent as well as 9 remote Agents cores and the execution of each task lasted for one hour, then we divide the 9 hours of execution on remote Agents cores by the total of 10 hours of execution which would yield the result of 90% build tasks distribution.The percentage of the tasks executed with IncrediBuild that were executed on remote Agents. This value is calculated by taking the number of core-hours of execution on remote cores and dividing it by the total number of core-hours of execution on all cores (including the local cores). For example, if a build was executed on the local Agent, which has one core, as well as on 9 remote cores and the execution took one hour, then we divide the 9 core-hours of execution on remote cores by the total of 10 core-hours of execution which yields the result of 90% Distributed execution.This is not accurate. This value is the sum of the duration of all tasks executed remotely divided by the sum of all the tasks executed both remotely and locally. Talk to me if this is not clear. For example, if a build consists of 16 tasks each taking 1 minute, 4 of them were executed locally and 12 were executed remotely, the value will be 12/16=75% All of the revisions are making this definition too complex. I started from scratch and wrote a straight forward definition, using the concept of core-hours that I introduced above. 

Note: The more that you are able to utilize remote cores to decrease the workload on the local Agent the greater the benefit you are obtaining from IncrediBuild. So, a high Distributed Percentage indicates an effective use of the tool.

Builds Execution Over Time Graphic Display
This area shows a graphic representation of the Builds KPIs over time. In the top graph you can select to display either Successful vs. Failed builds over time or Build Types over time (Default: displays Success vs. Fail graph). The lower graph shows the Distributed percentage over time (for an explanation of this measure see Builds KPI Summary). The data displayed for a given point in time relates to all builds which began execution during the time period between the last aggregation of data and the specified time. 

  1.  The data shown in the graph is aggregated hourly for the last two weeks and daily for earlier dates.
  2. The legend indicating the color of the display for each element is shown at the top of the graph. 

You can interact with the display in the following manner:

  • Select/Deselect – Click on one of the data elements in the legend to show/hide that element in the display. The default is to display all elements. Therefore, the first time that you click on an element it will hide it.

Note: If a Build Type has been excluded by a filter then data for that Build Type will not be displayed even if it has been selected in the legend.


  • Display data – Hover over a point in the graph to create a pop-out display of the specified date and time and the data for that particular point in time.

Note: The graphs are linked so that hovering over a point in one graph creates a pop-out display of data also in the second graph.


  • Zooming – Drag the cursor over a section of the timeline to zoom in on that time range and display a more granular breakdown of the data over a shorter period of time. To return to the display of the full timeline, click the Reset Zoom button in the top right corner of the graph.



This section shows two bar charts representing either the top or bottom Agents for each of the two measures Time Spent Building and # Builds Executed. You can select the parameters for the data displayed in these charts using the Build Filters. Underneath the title of each chart there is a legend indicating the color of the display for each Agent.

Agent Number Filter

You can select the number of Agents displayed from the dropdown list for the Agent Number Filter (options are: 5,10 or 20) from the filter pane. You can also select whether to display the Agents with the top performance or the Agents with the bottom (lowest) performance.

Time Spent Building

This measure shows the aggregate of the duration of all builds initiated by a particular Agent. Either the top or bottom Agents are illustrated on the display based on your selection.

The legend shows the names of the Agents and the number of hours. 
You can interact with the display in the following manner:

  • Select/Deselect – Click on one of the Agent names in the legend to show/hide that Agent for display. The default is to display all Agents. Therefore, the first time that you click on an Agent it will hide it.
  • Display data – Hover over the bar of an Agent to create a pop-out display. The display includes: the name of the Agent, the percentage of time spent building in relation to the total time that the Agent was connected to the Coordinator and the total duration of time spent building.

Number of Builds Executed

This measure shows the total number of builds initiated by a particular initiator Agent (both successful and failed builds are included in this measure). Either the top or bottom Agents are displayed depending on your selection The legend shows the names of the Agents and the number of builds. 

Note: This chart relates only to the number of builds and not to their duration. Therefore, the list of Agents shown and the order in which they appear will not necessarily be the same as in the Time Spent Building chart.


You can interact with the display in the following manner:

  • Select/Deselect – Click on Fail or Success in the legend to show/hide that element for display. The default is to display both successful and failed builds.
  • Display data – Hover over the bar of an Agent to create a pop-out display of the name of the Agent together with the total number of builds, the number of successful builds and the number of failed builds.

5 Longest Builds Display


This pane shows the 5 individual build executions that had the longest durations. Clicking on one of the builds displays a window with detailed information about that particular build. 


The parameters displayed in this window are described in the following table:

Item

Description

Agent Name

The name of the initiator Agent.

Status

The status of a build is either Success or Failed. 
Success - The build was completed successfully. 
Failed - The builds was not completed successfully. The failure could result from a failure of the system to execute the build of from the execution being aborted by the system or by the user.

Duration

The time that it took to execute the build.

Distributed [%]

The percentage of the build that was executed using remote Agents (i.e. Helpers) as opposed to the local Agent (i,e, Initiator). This value is calculated by taking the total duration of the build executed on remote Agents and dividing it by the total duration of builds executed on all Agents (including the local Agent). For example: if a build was executed on the local Agent as well as 9 remote Agents and the execution lasted for one hour, then we divide the 9 hours of execution on remote Agents by the total of 10 hours of execution which would yield the result of 90% build distribution.The explanation is not accurate in the same manner as above The percentage of the tasks executed with IncrediBuild that were executed on remote Agents. This value is calculated by taking the number of core-hours of execution on remote cores and dividing it by the total number of core-hours of execution on all cores (including the local cores). For example, if a build was executed on the local Agent, which has one core, as well as on 9 remote cores and the execution took one hour, then we divide the 9 core-hours of execution on remote cores by the total of 10 core-hours of execution which yields the result of 90% Distributed execution. 

Avg. Additional Cores Needed

This value indicates the average number of additional cores (beyond the number of cores that were available) that could have been used to execute the build. During a build's execution, the system registers a value every second for the number of additional cores needed. Therefore, this value is determined by taking the aggregate of the number of cores needed for each second and dividing the sum by the number of seconds that the build was executed. For example, a value of '0' indicates that adding more cores to the deployment would not improve the efficiency of the build. A higher value indicates that adding additional cores could potentially increase the performance of the build.

Peak Additional Cores Needed

The highest value registered for additional cores needed at any point during the build.

Time Saved

This is a rough estimate of how much longer it would have taken to run this build if it was executed entirely on the initiator Agent. The calculation is made by taking the aggregate of the core-hours (a core-hour is an hour of utilization of each core, i.e. a 4 core machine running for one hour would be considered to have utilized four core-hours) of utilization of all remote (i.e. helper) Agents and dividing that by the number of cores on the local Agent. Since usage of the remote Agents is less efficient than usage of the initiator Agent (because of I/O and Network factors etc.), the result is divided in halfby 1.5. For example, if the initiator Agent has 4 cores and the build ran for an hour using an additional 12 cores on remote Agents. Then we take the 12 core-hours and divide that by the 4 cores on the initiator Agent which yields the result of 3 hours. We then take that number and divide it in halfby 1.5 to reach the result that the Time Saved was 1.52 hours. 
Since this calculation is based on a series of assumptions and approximations the result should be viewed as a rough estimate of the actual time saved.

Avoid Local

This is a Boolean field that was set by the user who initiated the build. 
True – Every task that can be executed remotely is done remotely and not on the local Agent. 
False – Tasks that can be distributed are permitted to run both on local and remote cores as determined by IncrediBuild.

Start Time

The date and time that the build execution began.

End Time

The date and time that the build execution was completed.

Avg Used Cores

The average number of cores used at a given point in time during the build execution. The number of cores being used is registered for every second. Therefore, this value is determined by taking the aggregate of the number of cores being used for each second and dividing the sum by the number of seconds that the build was executed.

Product

If a specific product or products are associated with the build command, then the product name/s are displayed.

Command

The complete command line that was used to execute the build.

5 Top Distributed Builds Display


This pane shows the 5 individual build executions that achieved the highest Distributed Build percentage (for an explanation of this measure see Builds KPI Summary). Clicking on one of the builds displays a window with detailed information about that particular build. The data elements displayed in this window are the same as those displayed for the 5 Longest Builds (for an explanation of the elements see 5 Longest Builds Display).

Builds Grid

 
This pane displays detailed information about specific builds. A list of up to 10 builds is displayed at a time with a series of columns displaying detailed data about each build. You can scroll through the rest of the list by clicking the forward and backward arrows below the grid. You can customize the display by selecting which data columns are displayed. The builds can be sorted in ascending or descending order in relation to each of the columns. The data can be accessed in a manner that enables more in-depth analyses by entering Analysis Mode.

Builds Grid Filter

From the Build Grid Filter you can select which columns are displayed (for an explanation of the data displayed in each column see the Column Definition Table below). You can also enter Analysis Mode to enable more in-depth data analyses.

To select which columns are displayed:

  1. Click Columns.
  2. A multi-select dropdown list of column categories is displayed.
  3. Select the check-box next to each of the columns to be displayed.
  4. If a column is selected, you can click the check-box to deselect the column. (Default: the top 6 columns in the list are selected).
  5. The selected columns are displayed in the grid.


Notes:

  • Specific Build Types are registered for Visual Studio builds which are executed through the IDE or the IncrediBuild BuildConsole command line. All other builds are registered as Unknown.
  • If there is not sufficient space on the screen to display all of the selected columns then a horizontal scrollbar appears below the grid to scroll across to the additional columns.

To enter Analysis Mode:

  • Click Analysis Mode under the Builds Grid Filters choices.

Sorting

You can sort the builds listed in the grid in ascending or descending order for each of the columns.

To sort the builds listed in the grid:

  1. Click the up-arrow next to a column title to sort according to the values for that column in descending order (i.e. from highest to lowest).
  2. Or, click the down-arrow next to a column to sort according to the values for that column in ascending order (i.e. from lowest to highest).


Note: Sorting the grid according to a particular column changes the order in which the builds are listed, which impacts on the display of the entire grid not just the selected column.

Column Definition Table

Item

Description

Build Caption

This is a string expression that represents a specific build execution. This can be user-defined or automatically generated. It may incorporate the name of the solution for which the build was executed. If the build was executed through the command line and the Title command argument wasn't specified then no Build Caption is applied and this field remains empty.

Status

The status of a build is either Success or Failed. 
Success - The build was completed successfully. 
Failed - The build was not completed successfully. The failure could result from a failure of the system to execute the build or from the execution being aborted by the system or by the user.

Start Time

The time at which the build began execution.

Duration

The duration of time that it took to execute the build.

Initiator

The name of the initiator Agent.

Distributed

The percentage of the build that was executed using remote Agents (i.e. Helpers) as opposed to the local Agent (i.e. Initiator). This value is calculated by taking the total duration of the build executed on remote Agents and dividing it by the total duration of builds executed on all Agents (including the local Agent). For example: if a build was executed on the local Agent as well as 9 remote Agents and the execution lasted for one hour, then we divide the 9 hours of execution on remote Agents by the total of 10 hours of execution which would yield the result of 90% build distribution.Same comment as above The percentage of the tasks executed with IncrediBuild that were executed on remote Agents. This value is calculated by taking the number of core-hours of execution on remote cores and dividing it by the total number of core-hours of execution on all cores (including the local cores). For example, if a build was executed on the local Agent, which has one core, as well as on 9 remote cores and the execution took one hour, then we divide the 9 core-hours of execution on remote cores by the total of 10 core-hours of execution which yields the result of 90% Distributed execution. 

Avg. Cores Used

The average number of cores used at a given point in time during the build execution. The number of cores being used is registered for every second. Therefore, this value is determined by taking the aggregate of the number of cores being used for each second and dividing the sum by the number of seconds that the build was executed.

Build Command

This is the command line with which the build was executed. Because it is a long string it is not displayed in the grid. The word 'show' is displayed for all entries in this column. Hovering over 'show' for a specific build generates a pop-out window with the full Build Command string.

Build Type

The type of build that was executed. The following are the possible Build types: 

  • Build - An Incremental build operation of a Visual Studio solution or project/s. 
  • Clean - A clean build operation of a Visual Studio solution or project/s. 
  • Rebuild - A full rebuild operation, which consists of Clean and Build operations of a Visual Studio solution or project/s. 
  • Unknown - Other IncrediBuild executions which are not Visual Studio compilations. 
    Note: Specific Build Types are registered for Visual Studio builds which are executed through the IDE or the IncrediBuild BuildConsole. All other builds or executions are registered as Unknown.

Estimated Time Saved

This is a rough estimate of how much longer it would have taken to run this build if it was executed entirely on the initiator Agent . The calculation is made by taking the aggregate of the core-hours (a core-hour is an hour of utilization of each core, i.e. a 4 core machine running for one hour would be considered to have utilized four core-hours) of utilization of all remote (i.e. helper) Agents and dividing that by the number of cores on the local Agent. Since usage of the remote Agents is less efficient than usage of the initiator Agent (because of I/O and Network factors etc.), the result is divided in halfby 1.5. For example, if the initiator Agent has 4 cores and the build ran for an hour using an additional 12 cores on remote Agents. Then we take the 12 core-hours and divide that by the 4 cores on the initiator Agent which yields the result of 3 hours. We then take that number and divide it by 1.5in half to reach the result that the Time Saved was 1.52 hours. 
Since this calculation is based on a series of assumptions and approximations the result should be viewed as a rough estimate of the actual time saved.

End Time

The time that the build was completed.

Avg. Additional Cores Needed

This value indicates the average number of additional cores (beyond the number of cores that are currently available) that could have been used to execute the build. The system registers a value every second for the number of additional cores needed, so that this value is determined by taking the aggregate of the number of cores needed for each second and dividing the sum by the number of seconds that the build was executed. For example, a value of '0' indicates that adding more cores to the deployment would not improve the efficiency of the build. A higher value indicates that adding additional cores could potentially increase the efficiency of the build.

Peak Cores Needed

The highest value registered for additional cores needed at any point during the build.

Peak Cores Used

The highest number of cores that were used simultaneously at any point during the build.

Avoid Local

This is a Boolean field that was set by the user who initiated the build. 
True – Every task that can be executed remotely is done remotely and not on the local Agent. 
False – All Ttasks can be distributedexecuted both to on the local and remote Agents as determined by IncrediBuild.Tasks can be distributed both to the local and remote Agents as determined by IncrediBuild.Same correction as aboveMade a change to the wording, as we use the term "distributed" only to tasks that were executed remotely

Product

If a specific product or products areOr products associated with the build command, then the product name/s is displayed.



  • No labels