Tekton

Supported OS Linux Windows Mac OS

Integration version1.0.2

Overview

This check monitors Tekton through the Datadog Agent. Tekton is a powerful and flexible open source framework for creating CI/CD systems, allowing developers to build, test, and deploy across cloud providers and on-premise systems.

Setup

Follow the instructions below to install and configure this check for an Agent running on a host. For containerized environments, see the Autodiscovery Integration Templates for guidance on applying these instructions.

Installation

Starting from Agent release 7.53.0, the Tekton check is included in the Datadog Agent package. No additional installation is needed on your server.

This check uses OpenMetrics to collect metrics from the OpenMetrics endpoint that Tekton exposes, which requires Python 3.

Configuration

  1. Edit the tekton.d/conf.yaml file, in the conf.d/ folder at the root of your Agent’s configuration directory to start collecting your Tekton performance data. See the sample tekton.d/conf.yaml for all available configuration options.

  2. Restart the Agent.

Validation

Run the Agent’s status subcommand and look for tekton under the Checks section.

Data Collected

Metrics

tekton.pipelines_controller.client.latency.bucket
(count)
Duration of Kubernetes API requests.
tekton.pipelines_controller.client.latency.count
(count)
Duration of Kubernetes API requests.
tekton.pipelines_controller.client.latency.sum
(count)
Duration of Kubernetes API requests.
tekton.pipelines_controller.client.results.count
(count)
Total number of API requests (broken down by status code).
tekton.pipelines_controller.go.alloc
(gauge)
The number of bytes of allocated heap objects.
Shown as byte
tekton.pipelines_controller.go.bucket_hash_sys
(gauge)
The number of bytes of memory in profiling bucket hash tables.
Shown as byte
tekton.pipelines_controller.go.frees
(gauge)
The number of heap objects freed.
tekton.pipelines_controller.go.gc_cpu_fraction
(gauge)
The fraction of this program's available CPU time used by the GC since the program started.
tekton.pipelines_controller.go.gc_sys
(gauge)
The number of bytes of memory in garbage collection metadata.
Shown as byte
tekton.pipelines_controller.go.heap_alloc
(gauge)
The number of bytes of allocated heap objects.
Shown as byte
tekton.pipelines_controller.go.heap_idle
(gauge)
The number of bytes in idle (unused) spans.
Shown as byte
tekton.pipelines_controller.go.heap_in_use
(gauge)
The number of bytes in in-use spans.
Shown as byte
tekton.pipelines_controller.go.heap_objects
(gauge)
The number of allocated heap objects.
tekton.pipelines_controller.go.heap_released
(gauge)
The number of bytes of physical memory returned to the OS.
Shown as byte
tekton.pipelines_controller.go.heap_sys
(gauge)
The number of bytes of heap memory obtained from the OS.
Shown as byte
tekton.pipelines_controller.go.last_gc
(gauge)
The time the last garbage collection finished, as nanoseconds since 1970 (the UNIX epoch).
tekton.pipelines_controller.go.lookups
(gauge)
The number of pointer lookups performed by the runtime.
tekton.pipelines_controller.go.mallocs
(gauge)
The number of heap objects allocated.
tekton.pipelines_controller.go.mcache_in_use
(gauge)
The number of bytes of allocated mcache structures.
Shown as byte
tekton.pipelines_controller.go.mcache_sys
(gauge)
The number of bytes of memory obtained from the OS for mcache structures.
Shown as byte
tekton.pipelines_controller.go.mspan_in_use
(gauge)
The number of bytes of allocated mspan structures.
Shown as byte
tekton.pipelines_controller.go.mspan_sys
(gauge)
The number of bytes of memory obtained from the OS for mspan structures.
Shown as byte
tekton.pipelines_controller.go.next_gc
(gauge)
The target heap size of the next GC cycle.
Shown as byte
tekton.pipelines_controller.go.num_forced_gc
(gauge)
The number of GC cycles that were forced by the application calling the GC function.
tekton.pipelines_controller.go.num_gc
(gauge)
The number of completed GC cycles.
tekton.pipelines_controller.go.other_sys
(gauge)
The number of bytes of memory in miscellaneous off-heap runtime allocations.
Shown as byte
tekton.pipelines_controller.go.stack_in_use
(gauge)
The number of bytes in stack spans.
Shown as byte
tekton.pipelines_controller.go.stack_sys
(gauge)
The number of bytes of stack memory obtained from the OS.
Shown as byte
tekton.pipelines_controller.go.sys
(gauge)
The total bytes of memory obtained from the OS.
Shown as byte
tekton.pipelines_controller.go.total_alloc
(gauge)
The cumulative bytes allocated for heap objects.
Shown as byte
tekton.pipelines_controller.go.total_gc_pause
(gauge)
The duration in GC stop-the-world pauses since the program started.
Shown as nanosecond
tekton.pipelines_controller.pipelinerun.count
(count)
Total number of PipelineRun triggered.
tekton.pipelines_controller.pipelinerun.duration.bucket
(count)
Duration of the PipelineRun.
tekton.pipelines_controller.pipelinerun.duration.count
(count)
Duration of the PipelineRun.
tekton.pipelines_controller.pipelinerun.duration.sum
(count)
Duration of the PipelineRun.
tekton.pipelines_controller.running_pipelineruns
(gauge)
Number of running pipelineruns.
tekton.pipelines_controller.running_pipelineruns_waiting_on_pipeline_resolution
(gauge)
Number of pipelineruns waiting on pipeline resolution.
tekton.pipelines_controller.running_pipelineruns_waiting_on_task_resolution
(gauge)
Number of pipelineruns waiting on task resolution.
tekton.pipelines_controller.running_taskruns
(gauge)
Number of running taskruns.
tekton.pipelines_controller.running_taskruns_throttled_by_node
(gauge)
Number of taskruns throttled by node.
tekton.pipelines_controller.running_taskruns_throttled_by_quota
(gauge)
Number of taskruns throttled by quota.
tekton.pipelines_controller.running_taskruns_waiting_on_task_resolution
(gauge)
Number of taskruns waiting on task resolution.
tekton.pipelines_controller.taskrun.count
(count)
Total number of TaskRun triggered.
tekton.pipelines_controller.taskrun_duration.bucket
(count)
Duration of the TaskRun.
tekton.pipelines_controller.taskrun_duration.count
(count)
Duration of the TaskRun.
tekton.pipelines_controller.taskrun_duration.sum
(count)
Duration of the TaskRun.
tekton.pipelines_controller.taskruns_pod_latency
(gauge)
The scheduling latency for the taskruns pods.
Shown as millisecond
tekton.pipelines_controller.workqueue.longest_running_processor.bucket
(count)
Longest outstanding workqueue item has been in flight.
tekton.pipelines_controller.workqueue.longest_running_processor.count
(count)
Longest outstanding workqueue item has been in flight.
tekton.pipelines_controller.workqueue.longest_running_processor.sum
(count)
Longest outstanding workqueue item has been in flight.
tekton.pipelines_controller.workqueue.unfinished_work.bucket
(count)
Duration an item from workqueue takes to get processed.
tekton.pipelines_controller.workqueue.unfinished_work.count
(count)
Duration an item from workqueue takes to get processed.
tekton.pipelines_controller.workqueue.unfinished_work.sum
(count)
Duration an item from workqueue takes to get processed.
tekton.triggers_controller.client.latency.bucket
(count)
Duration of Kubernetes API requests.
tekton.triggers_controller.client.latency.count
(count)
Duration of Kubernetes API requests.
tekton.triggers_controller.client.latency.sum
(count)
Duration of Kubernetes API requests.
tekton.triggers_controller.client.results.count
(count)
Total number of API requests (broken down by status code).
tekton.triggers_controller.clusterinterceptor
(gauge)
The number of clusterinterceptor.
tekton.triggers_controller.clustertriggerbinding
(gauge)
The number of clustertriggerbinding.
tekton.triggers_controller.eventlistener
(gauge)
The number of eventlistener.
tekton.triggers_controller.go.alloc
(gauge)
The number of bytes of allocated heap objects.
Shown as byte
tekton.triggers_controller.go.bucket_hash_sys
(gauge)
The number of bytes of memory in profiling bucket hash tables.
Shown as byte
tekton.triggers_controller.go.frees
(gauge)
The number of heap objects freed.
tekton.triggers_controller.go.gc_cpu_fraction
(gauge)
The fraction of this program's available CPU time used by the GC since the program started.
tekton.triggers_controller.go.gc_sys
(gauge)
The number of bytes of memory in garbage collection metadata.
Shown as byte
tekton.triggers_controller.go.heap_alloc
(gauge)
The number of bytes of allocated heap objects.
Shown as byte
tekton.triggers_controller.go.heap_idle
(gauge)
The number of bytes in idle (unused) spans.
Shown as byte
tekton.triggers_controller.go.heap_in_use
(gauge)
The number of bytes in in-use spans.
Shown as byte
tekton.triggers_controller.go.heap_objects
(gauge)
The number of allocated heap objects.
tekton.triggers_controller.go.heap_released
(gauge)
The number of bytes of physical memory returned to the OS.
Shown as byte
tekton.triggers_controller.go.heap_sys
(gauge)
The number of bytes of heap memory obtained from the OS.
Shown as byte
tekton.triggers_controller.go.last_gc
(gauge)
The time the last garbage collection finished, as nanoseconds since 1970 (the UNIX epoch).
tekton.triggers_controller.go.lookups
(gauge)
The number of pointer lookups performed by the runtime.
tekton.triggers_controller.go.mallocs
(gauge)
The number of heap objects allocated.
tekton.triggers_controller.go.mcache_in_use
(gauge)
The number of bytes of allocated mcache structures.
Shown as byte
tekton.triggers_controller.go.mcache_sys
(gauge)
The number of bytes of memory obtained from the OS for mcache structures.
Shown as byte
tekton.triggers_controller.go.mspan_in_use
(gauge)
The number of bytes of allocated mspan structures.
Shown as byte
tekton.triggers_controller.go.mspan_sys
(gauge)
The number of bytes of memory obtained from the OS for mspan structures.
Shown as byte
tekton.triggers_controller.go.next_gc
(gauge)
The target heap size of the next GC cycle.
Shown as byte
tekton.triggers_controller.go.num_forced_gc
(gauge)
The number of GC cycles that were forced by the application calling the GC function.
tekton.triggers_controller.go.num_gc
(gauge)
The number of completed GC cycles.
tekton.triggers_controller.go.other_sys
(gauge)
The number of bytes of memory in miscellaneous off-heap runtime allocations.
Shown as byte
tekton.triggers_controller.go.stack_in_use
(gauge)
The number of bytes in stack spans.
Shown as byte
tekton.triggers_controller.go.stack_sys
(gauge)
The number of bytes of stack memory obtained from the OS.
Shown as byte
tekton.triggers_controller.go.sys
(gauge)
The total bytes of memory obtained from the OS.
Shown as byte
tekton.triggers_controller.go.total_alloc
(gauge)
The cumulative bytes allocated for heap objects.
Shown as byte
tekton.triggers_controller.go.total_gc_pause
(gauge)
The duration in GC stop-the-world pauses since the program started.
Shown as nanosecond
tekton.triggers_controller.reconcile.count
(count)
Number of reconcile operations.
tekton.triggers_controller.reconcile_latency.bucket
(count)
Latency of reconcile operations.
tekton.triggers_controller.reconcile_latency.count
(count)
Latency of reconcile operations.
tekton.triggers_controller.reconcile_latency.sum
(count)
Latency of reconcile operations.
tekton.triggers_controller.triggerbinding
(gauge)
Number of triggerbinding.
tekton.triggers_controller.triggertemplate
(gauge)
number of triggertemplate.
tekton.triggers_controller.work_queue_depth
(gauge)
Depth of the work queue.
tekton.triggers_controller.workqueue.adds.count
(count)
Total number of adds handled by workqueue.
tekton.triggers_controller.workqueue.depth
(gauge)
Current depth of workqueue.
tekton.triggers_controller.workqueue.longest_running_processor.bucket
(count)
Longest outstanding workqueue item has been in flight.
tekton.triggers_controller.workqueue.longest_running_processor.count
(count)
Longest outstanding workqueue item has been in flight.
tekton.triggers_controller.workqueue.longest_running_processor.sum
(count)
Longest outstanding workqueue item has been in flight.
tekton.triggers_controller.workqueue.queue_latency.bucket
(count)
Duration an item stays in workqueue before being requested.
tekton.triggers_controller.workqueue.queue_latency.count
(count)
Duration an item stays in workqueue before being requested.
tekton.triggers_controller.workqueue.queue_latency.sum
(count)
Duration an item stays in workqueue before being requested.
tekton.triggers_controller.workqueue.unfinished_work.bucket
(count)
Duration the outstanding workqueue items have been in flight.
tekton.triggers_controller.workqueue.unfinished_work.count
(count)
Duration the outstanding workqueue items have been in flight.
tekton.triggers_controller.workqueue.unfinished_work.sum
(count)
Duration the outstanding workqueue items have been in flight.
tekton.triggers_controller.workqueue.work_duration.bucket
(count)
Duration an item from workqueue takes to get processed.
tekton.triggers_controller.workqueue.work_duration.count
(count)
Duration an item from workqueue takes to get processed.
tekton.triggers_controller.workqueue.work_duration.sum
(count)
Duration an item from workqueue takes to get processed.

Events

The Tekton integration does not include any events.

Service Checks

tekton.pipelines_controller.openmetrics.health
Returns CRITICAL if the check cannot access the OpenMetrics metrics endpoint of Tekton Pipelines.
Statuses: ok, critical

tekton.triggers_controller.openmetrics.health
Returns CRITICAL if the check cannot access the OpenMetrics metrics endpoint of Tekton Triggers.
Statuses: ok, critical

Troubleshooting

Need help? Contact Datadog support.

Further Reading

Additional helpful documentation, links, and articles: