tektoncd/pipeline

Splitting metrics "export" out of the main controller

Ouverte

#7 373 ouverte le 16 nov. 2023

 (0 commentaire) (0 réaction) (0 personne assignée)Go (1 943 forks)auto 404
area/metricsarea/performancearea/roadmaphelp wantedkind/feature

Métriques du dépôt

Stars
 (9 013 étoiles)
Métriques de merge PR
 (Merge moyen 9j 3h) (137 PRs mergées en 30 j)

Description

The proposal here is to extract the "metrics" expose part from the main controller, and have a dedicated one for this only. This is a bit similar to what was proposed for CloudEvents with TEP-0137 and inline with https://github.com/tektoncd/community/issues/1076.

Currently, Tekton Pipelines' metrics can be configured by changing config-observability. However, the options that we have are very limited. You can configure to use metrics.taskrun.level: task, and then you can't aggregate further than that. And if you use metrics.taskrun.level: taskrun, that's not recommended since can lead to unbounded cardinality.

  • Configure what metrics are exposed and possibly define highly specific metrics.
  • Reducing "metrics export" impact on the main controller, from performance perspective as well as "code". The main controller's job is to manage Tekton objects, the metrics controller to expose metrics ; the code in those controller remains leaner, and their scalability is not compromised.

There is already a pull-request in tektoncd/experimental on this by @RafaeLeal.

/cc @gabemontero @tektoncd/core-maintainers

Related "metrics" issues:

Guide contributeur