Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Projects provide insight into your release process through a set of metrics generated from various tools including Jenkins and Artifactory. A Project can be a single microservice or a complete application and is defined using a set of builds in Artifactory. Project resources are automatically discovered from the different tools, and the data is collected and refreshed periodically resulting in a set of metrics that visualize the release process in the Project dashboard. 

A Project is created by selecting a set of builds from Artifactory. Mission Control uses the BuildInfo from Artifactory to discover resources like jobs in Jenkins (note that both upstream and downstream Jenkins jobs can be included in a project), issues from Xray, code repos from Git and artifact repos in Aritfactory. Data from each tool is periodically collected and metrics with 15 minute aggregates by builds are generated.

Panel
titlePage Contents

Table of Contents
maxLevel3

Projects Dashboard

The Projects Dashboard displays the metrics according to their stage in the release process from code to artifact deployment. The dashboard presents data for the time range and filters set in

two separate

three panes.

Key metric
  • Mini graph: Displayed on the bottom in the order of the release lifecycle. The value displayed on the
metric, aggregates all the builds with a value representing the latest captured data for the metric together
  • graph is an aggregate of data based on the selected filters along with a historical trend.
Details
  • Main graph: Selecting a
key metric
  • mini graph from the lower pane, displays the
breakdown
  • visualization of the data by build
  • Right pane: Displays the details of a selected point in the main graph including the break down by builds and runs

      Image Added


Filters

You can apply these global filters to gain different perspectives on your project:

  • Time range: Allows you to set the time period. You can select a predefined time periods: Last 24 hours (default), Last week, Last month, Last quarter and Last year. You can also set a custom time range and select any period of time during which data was collected.
Custom Time RangeImage Removed
  • Builds selection: Allows you to select All builds (aggregate across all the builds) or an individual build from the list of available builds. The default
is
  • is All Builds.
  • Build status: Allows you to view the data according to build status: All, Success, Failure and Unknown. The default
is
  • is All.

Total Commits Metric

This metric tracks the commits per build. Tracking commits allows you to understand the stability of your code base.  As you get closer to the release process, you would expect to see fewer commits.

Total CommitsImage Removed

In the above example, the key metric shows the total commits and the aggregated trend for the Project (across all the builds) for the last 24 hours. The detailed graph shows a stacked area chart, with each area representing the commits of each build. Selecting a point in the graph shows a time and the sum of the commits that happened in the last 15 minutes for each build.   

Average Build Duration Metric

This metric tracks the average duration for each run. Tracking the build duration allows you to understand whether builds are passing or staying consistent in their duration which serves as an indicator for stability. Since the status of the builds can impact the duration, it is advisable to view this data based on the build status to better understand the data.

Build DurationImage Removed

In the above example, the key metric shows the average duration and the trend for the Project (across all the builds) for the last 24 hours. The detailed graph shows a stacked area chart, with each area representing the duration for each build. Selecting a point in the graph shows a time and the average duration of the runs that happened in the last 15 minutes for each build. If no data was collected either due to the unavailability of source system or no runs happened, "No Data" will be displayed for that point.  

Total Dependencies Metric

This metric tracks the number of dependencies used by each build. It is critical to understand how the dependencies are changing over time.  As you get closer to the release you would expect this dependencies to remain stable. 

Total DependenciesImage Removed

In the example above, the key metric shows the sum of all the unique dependencies and the aggregated trend for the Project (across all the builds) over the last 24 hours. The detailed graph shows a stacked area chart, with each area representing the count of dependencies for each build. Selecting a point in the graph displays the time and the average number of unique dependencies for each build from the runs that have occurred in the last 15 minutes. In addition to the dependencies count, if Xray is configured, it will also show the vulnerabilities reported for the build. This provides a quick way to understand if new dependencies have introduced any critical vulnerabilities.   

Total Build Storage Metric

This metric allows you to track the total build storage on your Artifactory instance. 

Build StorageImage Removed

Avg. Builds by Promotion Metric

This metric tracks the number of runs for each build that reach the promotion stage. The promotion statuses derive from the BuildInfo and apply to the Artifactory promotion process. It is important to understand how many runs of the builds reach the different stages because as you get closer to the release, you should expect to see more builds reaching the final stage.

Build PromotionsImage Removed

In the example above, the key metric shows the average number of runs from the latest data collection that reached the final stage and the aggregated trend for the Project within the last 24 hours. The detailed graph shows a stacked area chart, with each area representing a promotion stage. Selecting a point in the graph shows a time and the number of runs for each build that reached each stage in the last 15 minutes. In addition to the promotion stages you have set, runs without a promotion status are classified as reaching the 

Status
titledefault
stage.

From the graph, you can see that on Apr 1 2018 at 09:30 there was one run across all the builds that reached the default stage and another run that reached the Released stage.   

Total Vulnerabilities Metric

This metric tracks the number of security vulnerabilities reported by Xray for each build by severity. As you get closer to the release, you should expect to see the vulnerabilities count go down and specifically not have any critical vulnerabilities. If the Xray service is not configured or connected to the Artifactory from which builds are selected, this metric will show No Data for the graph and NA for key metric.

Image Removed

In the above example, the key metric displays the number of vulnerabilities across all the builds as of the latest data collection and the aggregated trend for the Project for the last week. The detailed graph shows a stacked area chart, with each area representing a build. Selecting a point in the graph shows a time and the number of vulnerabilities in the last 15 minutes for each build broken according to severity. If Xray watches did not scan a build, the graph will display No Data for the data collection period.

Artifacts Not Downloaded Metric

This metric shows the total size of Artifacts that have not been downloaded over the last 3 months. This data is useful to understand how many artifacts are being produced but not consumed. Additionally, this also informs how much space can be cleaned up from Arifactory.

Artifacts Not DownloadedImage Removed

In the above example, the key metric shows the size of artifacts that have not been downloaded since the last 3 months across all the builds as of the latest data collection and the aggregated trend for the Project for the last week. The detailed graph shows a stacked area chart, with each area representing a build. Selecting a point in the graph shows a time and the size of artifacts not downloaded in the last 15 minutes for each build. 

Drilldown

By default, the first metric with data is selected in the mini graph and the main graph shows the aggregated data. Data is shown in aggregates depending on the time period selected. For example, for a time period of 24 hours, data is displayed in 15 minute aggregates. That means any selected point has data for the previous 15 minutes. Selecting a point displays the breakdown by build data for that metric. For each build selected in the filter the number of runs and aggregate for that build is displayed. If there are new runs for a build was created in that period, the build can be expanded to see the list of runs. For each run, the value of that metric along with the % change compared to the average of the period is also displayed. This enables determining if the run requires further investigation.

Selecting a run brings up the run details popup pane that shows all the data collected about that run from all the tools connected to the Project.

Image Added

For example, in the above screenshot, the popup displays the run details for run 351 for clone-example-maven build. This provides a comprehensive view of that run across all the tools used to build/release the application, from commits to upstream/downstream job to vulnerabilities. Each build/run attribute is labeled and for attributes with numeric values, percentage change compared to the previous run is also displayed.   

Managing Projects

Once you have added at least one Enterprise+ Artifactory service, you can proceed to select your Jenkins and Xray services and create your first Project. 

Info
titlePermissions

Only admins can create Projects. All users can view all projects.

Prerequisites

Project supports the following versions of tools:

  • JFrog Artifactory Enterprise+.
  • JFrog Xray Enterprise+.
  • Jenkins version 2.0 and above.

Adding a Project 

  1. To add a project, click Add Project from the Projects module.
    Image Modified

  2. Select an Artifactory service from the Select Artifactory Service field.
  3. Add builds to your project from services
using one these
  1. using one these methods:
    • Select Builds by Name
      Allows using wildcards or a regular expression to select specific builds for your project. For example, you can include all the Conan builds by adding  *conan.
      Add ProjectImage Modified
 
    • The Include Patterns and the Exclude Patterns fields provide a way to filter out specific builds. Specify a list of Ant-like patterns to filter in and filter out build queries. Filtering works by subtracting the excluded patterns (default is none) from the included patterns (default is all). 

    •  

      Note
      titleMaximum builds for a project

      A project may contain a maximum of 25 builds regardless of the number of Artifactory services included in the project, or the way in which you select the builds (by name or by pattern).


  1. Click Add.

    Info
    titleGenerating the Project

    It may take a while for Mission Control to generate a new project based on the number and type of builds you selected.

    While Mission Control is collecting data for the selected builds the Project will appear in the Projects list with a status of In Progress to indicate that data collection is in progress. After the data collection process is complete, the status will be changed to Created. 

Modifying Project settings

From the Projects section, hover over the project and click the Edit icon.

Image Removed

You can modify your project settings in the Settings tab by either changing the Artifactory services, the selection of builds or adjusting the name or pattern for selection of builds. To save your changes, click Update.

Tip
titleNew matching builds

 If new builds matching your selection patterns have been created in the system since you created this project, Mission Control will alert you giving you the option of adding them to the project. If you do so, make sure to click Update to save the changes.

Edit Project SettingsImage Removed

The Details tab lists all the Artifactory repositories, builds, Git repositories and Jenkins jobs that are included in this project according to the selected Artifactory service. You can view the entities as a flat list or collated by type.Edit Project DetailsImage Removed