Skip to main content
Last updated on Feb 06, 2025 This feature is only available in Incredibuild’s Enterprise Plan. Prometheus is a free, open source tool to help collect and visualize data. It integrates with many other tools that provide additional visualization tools as well. Incredibuild integrates with Prometheus by allowing you to send Incredibuild data to Prometheus to collect and view Incredibuild data. Once enabled, Incredibuild automatically exports data that Prometheus can pull every few seconds. Note: If you disable the integration or changes the port, all metrics will be reset.

Configuring the Integration

  1. If you have not already done so, install Prometheus on any machine in your Incredibuild environment.
  2. In the Coordinator Manager > Settings > General check the Enable Prometheus Integration checkbox. If you do not see this option, make sure you are using an Enterprise level Incredibuild license.
  3. Enter the port that will be used to manage communication between Incredibuild and Prometheus. This port must be open on both sides.
  4. On the machine that contains Prometheus, in the main Prometheus directory, open the prometheus.yml file.
  5. Below the section that contains job_name="prometheus", add the following code. Replace <IB Coordinator Machine IP or name> and <prometheus port> with the hostname of the machine that contains your Incredibuild Coordinator and the port you defined above. If this is the same machine as Prometheus, you can use “localhost” instead. If you have a Backup Coordinator, you can also specify that machine here to ensure data continuity in the event that the Primary Coordinator is down. Copy
    For example: Copy
  6. If it isn’t started, start the Prometheus service. For details, see the Prometheus Documentation.
  7. To verify that the integration has been configured, open Prometheus and verify that the Incredibuild metrics exist in the search results.
The integration is configured, but no data is sent until a build is run. Note that the data for the first few builds may look a bit unusual in Prometheus and Grafana due to the way their queries are calculated.

Viewing Data in Prometheus Graphs

You can use queries to create graphs in Prometheus based on the Incredibuild metrics. These queries assume that the job label defined in the prometheus.yml file is called “IB_coordinator”. Note that the data for the first few builds may look a bit unusual in Prometheus and Grafana due to the way their queries are calculated.

Number of builds per hour per Build Group

Number of builds per day broken down by build status (ended successfully or not)

Number of unsuccessful builds per day broken down by Build Group

Number of successful builds per day broken down by Build Group

Number of builds per hour

Current busy Helper Cores per Build Group

Current Helper Cores in the Pool per Build Group

Current Licensed Helper Cores

Build duration histogram broken down by Build Group

Average build duration per day

Viewing Data in Grafana Dashboards

Prometheus can integrate with Grafana to display the data in dashboards. To integrate Incredibuild and Prometheus with Grafana, see this article. When you create a Data Source, make sure the name is Prometheus (that is the default). You can download our sample JSON dashboards and import them directly into Grafana to view data about the number of concurrent builds, helper cores, build duration, and number of builds per day. To import JSON dashboards into grafana, see the Grafana documentation.

Data Included in the Integration

Label Details