CI insights for Jenkins®

8 minute read

The CI insights for Jenkins dashboard provides valuable Jenkins and CloudBees CI operations data in a consolidated view. These metrics help administrators monitor pipeline health, proactively address high-volume peaks, and enable their teams to run more efficiently.

The following data is displayed:

  • System information and health

  • Overview of project types

  • Completed runs

  • Usage patterns

  • Project activity

You must first set up the CI tools integration in order to view the CI insights for Jenkins dashboard.
For any data that is truncated with an ellipsis (…​), hover to display the full content. Use the scroll bars (vertical and horizontal), if necessary, to view the full content.

Create a CI tools integration

Connect the platform to your CloudBees CI and Jenkins instances. Once you have created this integration, data is available in the CI insights for Jenkins dashboard.

To create a CI tool integration:

  1. Select Configurations  Integrations.

  2. Select CREATE INTEGRATION.

  3. Select CI tools, and then select one of the options.

  4. Enter a Name and an (optional) Description.

  5. Configure in Jenkins, as follows:

    • For CloudBees CI controller and operations center:

      1. Go to Manage Jenkins  Plugins  Available Plugins.

      2. Search for CloudBees Platform Insights Plugin and then install it.

      3. Go to Manage Jenkins  System, and search for CloudBees Platform Insights.

      4. Enter the authentication code from the CloudBees platform.

      5. Save the Jenkins configuration.

    • For Jenkins:

      1. Go to Manage Jenkins  Plugins  Available Plugins.

      2. Search for CloudBees Installation Plugin and then install it.

      3. Search for CloudBees Platform Insights Plugin and then install it.

        Jenkins plugins
        Figure 1. CloudBees integration plugins in Jenkins.
      4. Go to Manage Jenkins  System, and search for CloudBees Platform Insights.

      5. Enter the authentication code from the CloudBees platform.

        {Authentication code
        Figure 2. Platform authentication code for a Jenkins integration.
        {Authentication code
        Figure 3. Pasted authentication code in Jenkins system configuration.
      6. Save the Jenkins configuration.

  6. Select SUBMIT to save the integration in the platform.

  • For CloudBees CI controllers and the operations center, the CloudBees Platform Insights Plugin requires CloudBees CI 2.440.3.7 or later.

  • For Jenkins, CloudBees Platform Insights Plugin requires Jenkins 2.414.3 or later.

The CI tools integration is connected and listed in Integrations.

Access and filter CI insights for Jenkins

Select the CI tool integration and the time frame of data for analysis in the CI insights for Jenkins dashboard.

  1. Select Analytics  CI insights for Jenkins.

  2. Filter for the data you want to display by selecting the following:

    1. Select FILTER.

    2. Select a CI tool integration from the options.

    3. Select a Duration from the following options:

      Table 1. Duration filter definitions
      Duration Definition

      Current week

      Current week in the month, Monday to Sunday schedule. For example, if current day is Tuesday, only data from Monday and Tuesday are displayed.

      Previous week

      Previous week in the month, Monday to Sunday schedule.

      Two weeks back

      Two weeks prior in the month, Monday to Sunday schedule.

      Current month

      First day of current month up to current day.

      Previous month

      First day to last day of previous month.

      Two months back

      First day to last day of two months prior.

      Last 7 days

      The past seven days.

      Last 30 days

      The past 30 days.

      Last 90 days

      The past 90 days.

      Custom range

    4. Select APPLY.

      CI insights filter
      Figure 4. Filtering for the desired CI integration and duration.

The data are filtered accordingly and displayed in the CI insights for Jenkins dashboard.

Set a custom date range

View analytics data for any desired time frame, as in the example below:

Custom time frame
Figure 5. Example Custom range selected.

To set a custom date range:

  1. Select FILTER.

  2. Select Custom range.

  3. (Optional) Select the Left chevron to go to a previous month and year.

  4. Select a date for the time frame start.

  5. (Optional) Select the Right chevron to go to a subsequent month and year.

  6. Select a date for the time frame end.

The custom date range is set accordingly and displayed in blue on the date picker.

Customize the dashboard

Customize the dashboard to display only the charts and tables that matter the most to you.

To customize the dashboard:

  1. Select Analytics on the left pane, and then select the dashboard.

  2. Select the Vertical ellipsis on the top right of the dashboard.

  3. Select Edit dashboard.

  4. (Optional) Remove a chart or table from the dashboard.

    1. Select the next to the chart or table you want to remove.

    2. Select SAVE.

  5. (Optional) Add back a chart or table to the dashboard.

    1. Select ADD FROM LIBRARY to display a list of the available charts or tables.

    2. Select ADD TO DASHBOARD next to the item you want.

    3. Select APPLY.

  6. (Optional) Rearrange the items on the dashboard.

    1. Select the Move icon on a chart or table you want to move.

    2. Drag the item to a different location on the dashboard.

System health and runs overview
Figure 6. Editing a dashboard, with move and remove icons highlighted.

The dashboard is customized accordingly.

Only those charts and tables with a in their upper-right corner can be edited.

Controllers, system information, and project type views

Get an overview of controllers, plugins, system information and project types for the filtered CI tool data in a specified time frame.

Connected controllers

All connected controllers are listed on the leftmost table, as in the example displayed below:

Controller list
Figure 7. Displaying data from a selected connected controller.

The list of connected controllers includes the following information:

  1. Number of connected controllers.

  2. Total number of controllers.

  3. Select to display connected controllers as a list (left) or in a heat map (right). If the latter, select a section to display:

    • Controller name

    • Total jobs

    • Total number of runs

    • Failure rate

  4. Select the CI tool link to display data for all connected controllers.

  5. If a controller is selected from the list, only the data from that controller is displayed, and the controller name is listed to the right of the CI tool link.

Select from the following options to sort:

  • Name

  • Failure rate

  • Number of projects

  • Last active

System information and project types

As displayed below, the system information table includes the version, number of plugins, executors, and nodes. The project types table lists the number of each project type.

System information and project types
Figure 8. Example System information and Project types tables with plugin number link highlighted.
  1. System information displays the following details:

    • The Jenkins version number.

    • Whether the current version is up-to-date.

    • The number of plugins installed, including a link to more plugin information.

    • The number of executors and nodes.

  2. Project types displays the number of each of the following project types:

    • Backup

    • Freestyle

    • Multi-branch

    • Pipeline

Plugin information

Select the number link to the right of Plugins to display a list of installed plugins information, such as displayed below.

Plugin information
Figure 9. Example Installed plugin information list.

Plugins information displays the following installed plugin details:

  1. Name and version

  2. Dependencies

  3. Update status (either Up to date or New version available)

  4. Enabled/disabled status

System health and runs overview

Get an overview of system health and jobs/pipeline runs for the filtered CI tool data in a specified time frame. Representative tables are displayed below.

System health and runs overview
Figure 10. Example System health and Runs overview tables.
  1. System health displays an overall Health score, based on the following four parameters.

    Table 2. Definitions of System health data
    Parameter name Definition Analytical importance

    Plugins

    All installed extensions for Jenkins

    Returns Failed if any plugins fail to start. CloudBees recommends that you explicitly disable any failing plugins, or resolve any issues with plugin dependencies.

    Thread deadlock

    A condition where two or more threads may hang indefinitely, waiting for each other.

    Returns Failed if there are any deadlocked threads in the Jenkins JVM. Thread deadlocks may degrade Jenkins’ performance or cause it to crash.

    Disk space

    Disk storage, configured to be below a specific threshold.

    Returns Failed if any monitors report disk space as less than the configured threshold, and any message references the first node to fail this check.

    Temporary space

    Temporary storage, configured to be below a specific threshold. Jenkins must create temporary files during job and build execution.

    Returns Failed if any monitors report temporary space as less than the configured threshold, and any message references the first node to fail this check.

  2. Runs overview displays actual data for the following parameters:

    Table 3. Definitions of Runs overview data
    Parameter name Definition Analytical importance

    Active runs

    The total number of jobs/pipelines executing, queued, or awaiting user input, across all CI/CD servers.

    This analysis provides real-time insights and expected activity trends to detect problems.

    Idle executors

    The number of online, yet unused, resources.

    A high number of idle executors, coupled with queued jobs, suggests either a mismatch in cluster load or restrictions on running jobs.

    Runs waiting to start

    The number of queued job/pipeline runs.

    This analysis of queue lengths based on current time and the day of week can help identify real-time anomalies. High numbers of runs waiting to start suggests insufficient executor resources, which can mean longer overall lead time, especially wait times for developer feedback on builds.

    Average time waiting to start

    The average time for queued build requests.

    Monitor this time to identify bottlenecks caused by long-running jobs. Adjustments, such as increasing the number of executor slots or easing concurrent execution limits, can improve overall feedback cycle time and enhance performance.

    Current time to idle

    The estimated time until all active jobs are completed.

    This estimation aids in identifying anomalies and in determining the best time to restart Jenkins controllers without disrupting ongoing tasks.

Completed runs

The Completed runs chart displays build outcomes by job, date and time for the filtered CI tool data in a specified time frame, as displayed in the example below:

Hover over completed run
Figure 11. Hovering over a data point in Completed runs.

The following details and options are available:

  1. Each data point represents a completed run, and its color indicates the run status:

    • Green: Successful

    • Red: Failed

    • Orange: Unstable

    • Gray: Canceled

  2. Enter all or part of a job name into Search to filter the completed runs display by job name.

  3. Scroll within the chart area to adjust the time frame displayed on the x-axis. Select Restore display to restore to the default time frame.

  4. Hover over a data point to display detailed run information, including:

    • Controller name (if a controller not already selected)

    • Project name

    • Build ID

    • Run date and time

    • Run duration

Project run details

Select a data point to display details of all completed runs for a selected project, as in the example below:

Completed run details
Figure 12. Example run details in Completed runs.

The following details and options are available:

  1. At the top of the chart, the following information is listed:

    • Project type

    • Number of failed runs

    • Total runs executed

    • Number of unstable runs

    • Average run duration

    • Number of canceled runs

    • Number of successful runs

  2. Scroll within the chart area to adjust the time frame displayed on the x-axis. Select Restore display to restore to the default time frame.

  3. Hover over a bar on the chart to display detailed run information, including:

    • Status

    • Build ID

    • Run date and time

    • Run duration

  4. The run duration is listed on the y-axis, and the average run duration is displayed as a dotted line.

  5. Each bar on the chart represents a completed run, and its color indicates the run status:

    • Green: Successful

    • Red: Failed

    • Orange: Unstable

    • Gray: Canceled

Select a bar on the chart to display the CloudBees Pipeline Explorer for that run.

CloudBees Pipeline Explorer
Figure 13. An example CloudBees Pipeline Explorer display.

For more information, refer to the CloudBees Pipeline Explorer plugin page.

Usage patterns

The Usage patterns chart displays run activity patterns over the course of a week for the filtered CI tool data in a specified time frame.

The activity for each hour of a week, starting from Sunday at 12am, and ending on Saturday at 11pm, is represented as a blue dot. A gray dot represents no activity for that specific day of the week and hour of the day.

The larger the blue dot, the longer the time duration or the higher the number, as appropriate, for each of the following views:

Table 4. Definitions of Usage patterns data
View Definition

Active runs

The number of active runs.

Average time waiting to start

The average time elapsed before a run starts.

Current time to idle

The time elapsed before all runs are idle.

Idle executors

The number of idle executors.

Runs waiting to start

The number of runs waiting to start.

Hovering over a dot displays the exact number or time duration, as appropriate, for the chosen view.

Usage pattern
Figure 14. An example usage pattern for Current time to idle.

Usage patterns can help you better understand usage peaks in order to optimize resources.

Projects activity

The Projects activity table lists each project for the filtered CI tool data in a specified time frame, as displayed in the example below:

Projects activity
Figure 15. An example Projects activity table.

The following details and options are available:

  1. Select FILTER to display only Idle projects or Fragile projects.

  2. Enter all or part of a project name in Search to display only matching project names.

  3. Each row of the Projects activity table lists the following information for a given project:

    • Project Name.

    • When project was Last active, in days (d), hours (h), and minutes(m).

    • Project Type.

    • The average run duration (Avg run duration).

    • Total executed (runs).

    • Number of Successful runs.

    • Number of Failed runs.

    • Number of Unstable runs.

    • Number of Canceled runs.

  4. Select a column heading to sort on that column.

  5. Select Avg run duration to display a graph of the run information for that project.