tektoncd/pipeline

Splitting metrics "export" out of the main controller

オープン

#7,373 opened on 2023/11/16

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)Go (1,943 件のフォーク)auto 404
area/metricsarea/performancearea/roadmaphelp wantedkind/feature

Repository metrics

Stars
 (9,013 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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:

コントリビューターガイド