test: add e2e test for OpenCensus to OpenTelemetry metrics migration - #1735
Conversation
292afe2 to
e521dd8
Compare
| removedMetrics := []string{ | ||
| "tekton_chains_taskrun_signed_total", | ||
| "tekton_chains_pipelinerun_signed_total", | ||
| } |
There was a problem hiding this comment.
We can probably remove these, these metrics never existed I believe. This will pass in all cases.
There was a problem hiding this comment.
@khrm as per earlier opencensus based implementation Knative's sharedmain uses the component name as the OC metrics domain/namespace, which gets prepended as a Prometheus prefix. So the old OC Prometheus names were already watcher_taskrun_sign_created_total, watcher_taskrun_payload_stored_total, etc. identical to the new OTel names. If we prefer to check for removed metric names recommend that to be on the knative metric names which were like watcher_workqueue_, etc., instead of kn_ now. Otherwise please ignore this block to verify removed metrics altogether
|
/retest |
|
/ok-to-test |
|
/retest |
|
@khrm e2e are failing, can you have a look please |
|
Closed and reopened to rerun the CI |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1735 +/- ##
=======================================
Coverage ? 61.95%
=======================================
Files ? 64
Lines ? 4071
Branches ? 0
=======================================
Hits ? 2522
Misses ? 1268
Partials ? 281
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| removedMetrics := []string{ | ||
| "tekton_chains_taskrun_signed_total", | ||
| "tekton_chains_pipelinerun_signed_total", | ||
| } |
There was a problem hiding this comment.
@khrm as per earlier opencensus based implementation Knative's sharedmain uses the component name as the OC metrics domain/namespace, which gets prepended as a Prometheus prefix. So the old OC Prometheus names were already watcher_taskrun_sign_created_total, watcher_taskrun_payload_stored_total, etc. identical to the new OTel names. If we prefer to check for removed metric names recommend that to be on the knative metric names which were like watcher_workqueue_, etc., instead of kn_ now. Otherwise please ignore this block to verify removed metrics altogether
|
@khrm - could you get this minor comment - #1735 (comment) resolved. we could merge this. Thank you |
Adds TestOTelMetrics, a consolidated e2e test for the OpenCensus-to- OpenTelemetry metrics migration in Chains (PR tektoncd#1550). The test creates a TaskRun and a PipelineRun, waits for Chains to sign them, then scrapes the controller /metrics endpoint via port-forward to assert: - All signing counters increment for both TaskRun and PipelineRun (sign_created, payload_stored, marked_signed) - Knative workqueue metrics use the new kn_workqueue_* prefix - Standard go_* runtime metrics are present - The old Knative workqueue prefix (watcher_workqueue_*) is absent after the rename to kn_workqueue_* Prometheus text output is parsed with expfmt/dto.MetricFamily, and a baseline scrape taken before creating resources is used to compute counter deltas, avoiding false positives from earlier test runs. The Chains signing counters keep identical Prometheus names across the migration (Knative sharedmain prepends the component name as the OpenCensus domain), so only Knative's own infrastructure metrics are renamed; the test verifies that rename rather than checking for names that never existed. Also replaces the kodata LICENSE symlink and removes the HEAD/refs symlinks so ko v0.19.0's strict enforcement that kodata symlinks must not resolve outside the kodata root does not fail the build (ko-build/ko#1619). Relates to tektoncd#1550 Co-authored-by: Anitha Natarajan <anataraj@redhat.com> Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Khurram Baig <kbaig@redhat.com> Signed-off-by: Anitha Natarajan <anataraj@redhat.com>
01eab3c to
8b62105
Compare
|
@jkhelil @infernus01 - The comments are addressed. Could you take a look when you get sometime. Thank you |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: anithapriyanatarajan The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Adds TestOTelMetrics, a consolidated e2e test for the OC→OTel metrics migration in Chains (PR #1550). The test creates a TaskRun and a PipelineRun, waits for Chains to sign them, then scrapes the controller /metrics endpoint via port-forward to assert:
Uses expfmt/dto.MetricFamily for proper Prometheus text parsing and a baseline scrape before creating resources to compute deltas, avoiding false positives from earlier test runs.
Relates to #1550
Changes
Submitter Checklist
As the author of this PR, please check off the items in this checklist:
functionality, content, code)
Release Notes