Skip to content

Latest commit

 

History

History
62 lines (49 loc) · 4.77 KB

metrics.md

File metadata and controls

62 lines (49 loc) · 4.77 KB

Pipeline Controller Metrics

The following pipeline metrics are available at controller-service on port 9090.

We expose several kinds of exporters, including Prometheus, Google Stackdriver, and many others. You can set them up using observability configuration.

Name Type Labels/Tags Status
tekton_pipelines_controller_pipelinerun_duration_seconds_[bucket, sum, count] Histogram/LastValue(Gauge) *pipeline=<pipeline_name>
*pipelinerun=<pipelinerun_name>
status=<status>
namespace=<pipelinerun-namespace>
experimental
tekton_pipelines_controller_pipelinerun_taskrun_duration_seconds_[bucket, sum, count] Histogram/LastValue(Gauge) *pipeline=<pipeline_name>
*pipelinerun=<pipelinerun_name>
status=<status>
*task=<task_name>
*taskrun=<taskrun_name>
namespace=<pipelineruns-taskruns-namespace>
experimental
tekton_pipelines_controller_pipelinerun_count Counter status=<status> experimental
tekton_pipelines_controller_running_pipelineruns_count Gauge experimental
tekton_pipelines_controller_taskrun_duration_seconds_[bucket, sum, count] Histogram/LastValue(Gauge) status=<status>
*task=<task_name>
*taskrun=<taskrun_name>
namespace=<pipelineruns-taskruns-namespace>
experimental
tekton_pipelines_controller_taskrun_count Counter status=<status> experimental
tekton_pipelines_controller_running_taskruns_count Gauge experimental
tekton_pipelines_controller_taskruns_pod_latency Gauge namespace=<taskruns-namespace>
pod= < taskrun_pod_name>
*task=<task_name>
*taskrun=<taskrun_name>
experimental
tekton_pipelines_controller_cloudevent_count Counter *pipeline=<pipeline_name>
*pipelinerun=<pipelinerun_name>
status=<status>
*task=<task_name>
*taskrun=<taskrun_name>
namespace=<pipelineruns-taskruns-namespace>
experimental
tekton_pipelines_controller_client_latency_[bucket, sum, count] Histogram experimental

The Labels/Tag marked as "*" are optional. And there's a choice between Histogram and LastValue(Gauge) for pipelinerun and taskrun duration metrics.

Configuring Metrics using config-observability configmap

A sample config-map has been provided as config-observability. By default, taskrun and pipelinerun metrics have these values:

    metrics.taskrun.level: "task"
    metrics.taskrun.duration-type: "histogram"
    metrics.pipelinerun.level: "pipeline"
    metrics.pipelinerun.duration-type: "histogram"

Following values are available in the configmap:

configmap data value description
metrics.taskrun.level taskrun Level of metrics is taskrun
metrics.taskrun.level task Level of metrics is task and taskrun label isn't present in the metrics
metrics.taskrun.level namespace Level of metrics is namespace, and task and taskrun label isn't present in the metrics
metrics.pipelinerun.level pipelinerun Level of metrics is pipelinerun
metrics.pipelinerun.level pipeline Level of metrics is pipeline and pipelinerun label isn't present in the metrics
metrics.pipelinerun.level namespace Level of metrics is namespace, pipeline and pipelinerun label isn't present in the metrics
metrics.taskrun.duration-type histogram tekton_pipelines_controller_pipelinerun_taskrun_duration_seconds and tekton_pipelines_controller_taskrun_duration_seconds is of type histogram
metrics.taskrun.duration-type lastvalue tekton_pipelines_controller_pipelinerun_taskrun_duration_seconds and tekton_pipelines_controller_taskrun_duration_seconds is of type gauge
metrics.pipelinerun.duration-type histogram tekton_pipelines_controller_pipelinerun_duration_seconds is of type histogram
metrics.pipelinerun.duration-type histogram tekton_pipelines_controller_pipelinerun_duration_seconds is of type gauge or lastvalue

Histogram value isn't available when pipelinerun or taskrun labels are selected. The Lastvalue or Gauge will be provided.

To check that appropriate values have been applied in response to configmap changes, use the following commands:

kubectl port-forward -n tekton-pipelines service/tekton-pipelines-controller 9090

And then check that changes have been applied to metrics coming from http://127.0.0.1:9090/metrics