Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new metric to show duration all pipelineruns have taken #1764

Merged
merged 1 commit into from
Oct 3, 2024

Conversation

zakisk
Copy link
Contributor

@zakisk zakisk commented Sep 20, 2024

added new metric to show sum of durations all pipelineruns have taken in seconds. added docs and adjusted test accordingly

https://issues.redhat.com/browse/SRVKP-6226

Screenshot from 2024-09-20 16-55-20

Changes

Submitter Checklist

  • 📝 Please ensure your commit message is clear and informative. For guidance on crafting effective commit messages, refer to the How to write a git commit message guide. We prefer the commit message to be included in the PR body itself rather than a link to an external website (ie: Jira ticket).

  • ♽ Before submitting a PR, run make test lint to avoid unnecessary CI processing. For an even more efficient workflow, consider installing pre-commit and running pre-commit install in the root of this repository.

  • ✨ We use linters to maintain clean and consistent code. Please ensure you've run make lint before submitting a PR. Some linters offer a --fix mode, which can be executed with the command make fix-linters (ensure markdownlint and golangci-lint tools are installed first).

  • 📖 If you're introducing a user-facing feature or changing existing behavior, please ensure it's properly documented.

  • 🧪 While 100% coverage isn't a requirement, we encourage unit tests for any code changes where possible.

  • 🎁 If feasible, please check if an end-to-end test can be added. See README for more details.

  • 🔎 If there's any flakiness in the CI tests, don't necessarily ignore it. It's better to address the issue before merging, or provide a valid reason to bypass it if fixing isn't possible (e.g., token rate limitations).

Copy link

codecov bot commented Sep 20, 2024

Codecov Report

Attention: Patch coverage is 72.13115% with 17 lines in your changes missing coverage. Please review.

Project coverage is 65.16%. Comparing base (d87fe97) to head (528f8ed).
Report is 5 commits behind head on main.

Files with missing lines Patch % Lines
pkg/metrics/metrics.go 62.85% 9 Missing and 4 partials ⚠️
pkg/reconciler/emit_metrics.go 84.61% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1764      +/-   ##
==========================================
+ Coverage   65.11%   65.16%   +0.04%     
==========================================
  Files         174      174              
  Lines       13185    13246      +61     
==========================================
+ Hits         8586     8632      +46     
- Misses       4030     4041      +11     
- Partials      569      573       +4     
Flag Coverage Δ
65.16% <72.13%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@zakisk
Copy link
Contributor Author

zakisk commented Sep 20, 2024

/test

1 similar comment
@zakisk
Copy link
Contributor Author

zakisk commented Sep 20, 2024

/test

metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"knative.dev/pkg/apis"
duckv1 "knative.dev/pkg/apis/duck/v1"
)

func TestEmitMetrics(t *testing.T) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you are not adding any new tests here, just fixing the current one?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, adjusted existing one to accommodate new metric.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we have a new test?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can't figure out how, because there is only one func emit_metrics, can you please guide how?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not know how, without having to spend time on the code, what about a e2e test then?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

something like done in pipeline metric tests?

pkg/metrics/metrics.go Outdated Show resolved Hide resolved
Copy link
Member

@savitaashture savitaashture left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @zakisk
Few comments and also can you add e2e to test both the metrics

pkg/metrics/metrics.go Outdated Show resolved Hide resolved
pkg/metrics/metrics.go Show resolved Hide resolved
pkg/reconciler/emit_metrics.go Show resolved Hide resolved
pkg/reconciler/emit_metrics.go Outdated Show resolved Hide resolved
@zakisk zakisk force-pushed the SRVKP-6226 branch 2 times, most recently from 5a0297f to eb56bc4 Compare September 25, 2024 16:18
added new metric to show sum of durations all pipelineruns have
taken in seconds. added docs and test accordingly

https://issues.redhat.com/browse/SRVKP-6226

Signed-off-by: Zaki Shaikh <[email protected]>
@zakisk
Copy link
Contributor Author

zakisk commented Sep 26, 2024

/test

@zakisk
Copy link
Contributor Author

zakisk commented Oct 3, 2024

Thank you @zakisk Few comments and also can you add e2e to test both the metrics

@savitaashture about adding E2E tests, I will need to do some extra work, like adding an ingress to access metrics endpoint in tests, metrics endpoint doesn't return response in JSON so need to figure out a consistent way to find metrics values in response so that it will be reusable across all PAC metrics E2E tests, so I am thinking doing that in a separate SRVKP.
CC: @chmouel

@savitaashture
Copy link
Member

/lgtm

Thank you

@chmouel chmouel merged commit 9e71fa3 into openshift-pipelines:main Oct 3, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants