Observability

builds for Red Hat OpenShift 1.7

Build controller observability

Red Hat OpenShift Documentation Team

Abstract

This document provides information about build controller observability.

Chapter 1. Logging

As a developer, detailed logs are essential for diagnosing issues when a build fails or behaves unexpectedly. Logs provide information about what happened during the build. If logs do not show the error, you can check the build controller or histogram metrics to troubleshoot the issue.

1.1. Viewing logs

You can view the logs of a build run to identify any runtime errors and to resolve them.

Prerequisites

  • You have installed the oc CLI.
  • Optional: You have installed the shp CLI.

Procedure

  • View logs of a build run. You can do so by using the oc CLI or the shp CLI.

    $ oc logs <buildrun_resource_name>
    $ shp buildrun logs <buildrun_resource_name>

1.2. Additional resources

Chapter 2. Monitoring

Builds exposes several metrics for cluster administrators to monitor the performance and functioning of your build resources. The build controller metrics are exposed on port 8383.

2.1. Builds controller metrics

Builds controller metrics expose the internal state and activity of the builds controller in OpenShift Container Platform.

Important

Red Hat does not provide support for the builds controller metrics.

You can check the following builds controller metrics for monitoring purposes:

Table 2.1. Builds controller metrics

NameTypeDescriptionLabelsStatus

build_builds_registered_total

Counter

The number of total registered builds.

  • buildstrategy=<build_buildstrategy_name>
  • namespace=<buildrun_namespace>
  • build=<build_name>

experimental

build_buildruns_completed_total

Counter

The number of total completed build runs.

  • buildstrategy=<build_buildstrategy_name>
  • namespace=<buildrun_namespace>
  • build=<build_name>
  • buildrun=<buildrun_name>

experimental

build_buildrun_establish_duration_seconds

Histogram

The build run establish duration in seconds.

  • buildstrategy=<build_buildstrategy_name>
  • namespace=<buildrun_namespace>
  • build=<build_name>
  • buildrun=<buildrun_name>

experimental

build_buildrun_completion_duration_seconds

Histogram

The build run completion duration in seconds.

  • buildstrategy=<build_buildstrategy_name>
  • namespace=<buildrun_namespace>
  • build=<build_name>
  • buildrun=<buildrun_name>

experimental

build_buildrun_rampup_duration_seconds

Histogram

The build run ramp-up duration in seconds.

  • buildstrategy=<build_buildstrategy_name>
  • namespace=<buildrun_namespace>
  • build=<build_name>
  • buildrun=<buildrun_name>

experimental

build_buildrun_taskrun_rampup_duration_seconds

Histogram

The build run ramp-up duration for a task run in seconds.

  • buildstrategy=<build_buildstrategy_name>
  • namespace=<buildrun_namespace>
  • build=<build_name>
  • buildrun=<buildrun_name>

experimental

build_buildrun_taskrun_pod_rampup_duration_seconds

Histogram

The build run ramp-up duration for a task run pod in seconds.

  • buildstrategy=<build_buildstrategy_name>
  • namespace=<buildrun_namespace>
  • build=<build_name>
  • buildrun=<buildrun_name>

experimental

2.1.1. Histogram metrics

To use custom buckets for the build controller, you must set the environment variable for a particular histogram metric. The following table shows the environment variables for all histogram metrics:

Table 2.2. Histogram metrics

MetricEnvironment variableDefault

build_buildrun_establish_duration_seconds

PROMETHEUS_BR_EST_DUR_BUCKETS

0,1,2,3,5,7,10,15,20,30

build_buildrun_completion_duration_seconds

PROMETHEUS_BR_COMP_DUR_BUCKETS

50,100,150,200,250,300,350,400,450,500

build_buildrun_rampup_duration_seconds

PROMETHEUS_BR_RAMPUP_DUR_BUCKETS

0,1,2,3,4,5,6,7,8,9,10

build_buildrun_taskrun_rampup_duration_seconds

PROMETHEUS_BR_RAMPUP_DUR_BUCKETS

0,1,2,3,4,5,6,7,8,9,10

build_buildrun_taskrun_pod_rampup_duration_seconds

PROMETHEUS_BR_RAMPUP_DUR_BUCKETS

0,1,2,3,4,5,6,7,8,9,10

2.2. Additional resources

Legal Notice

Copyright © Red Hat.
Except as otherwise noted below, the text of and illustrations in this documentation are licensed by Red Hat under the Creative Commons Attribution–Share Alike 3.0 Unported license . If you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, the Red Hat logo, JBoss, Hibernate, and RHCE are trademarks or registered trademarks of Red Hat, LLC. or its subsidiaries in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS is a trademark or registered trademark of Hewlett Packard Enterprise Development LP or its subsidiaries in the United States and other countries.
The OpenStack® Word Mark and OpenStack logo are trademarks or registered trademarks of the Linux Foundation, used under license.
All other trademarks are the property of their respective owners.