-
Notifications
You must be signed in to change notification settings - Fork 133
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
Chains should expose some more detailed metrics #1028
Comments
@jhutar, the immediate alternative that I can think of is through some clever parsing of the controller logs. Adding the suggested metric seems reasonable to me. I just have no idea how to do so. @wlynch, @chitrangpatel, are you guys aware of any existing mechanism that could help @jhutar? |
Could we add another annotation Another possible way: The Taskrun status also has the following fields:
I'm not sure if Chains could update the |
For tracking when an object was processed, +1 for using a Condition though we should create a new condition for chains, not reuse an existing pipelines condition. This would also give us a place to return debug information to address #984. If you're looking to generate periodic reports with scripts, this would be the minimum needed. If real-time metrics are needed, custom metrics can be added with otel. See https://github.com/tektoncd/pipeline/blob/main/pkg/taskrunmetrics/metrics.go for an example for how this is done in Pipelines. |
My only concern with using a condition is having to grant access to modify TaskRunStatus resources to the ServiceAccount used to run the Chains controller. |
We already have update permissions in order to add the current annotation. (and even though we have both the normal object + status permissions, idk what happens if you try to update the status via the CRD object - one may be a subset of the other anyway 🤔 ) chains/config/100-rolebinding.yaml Lines 48 to 55 in 48a5ded
We should probably look into reducing these - we don't need some of these update/delete permissions (but out of scope of this issue). |
I think for telemetry as well as for performance testing, having otel metrics is sufficient. We can have a counter here. |
I discussed this with @sudhishmk on how to do that. He will pick this up. /assign @sudhishmk |
@khrm: GitHub didn't allow me to assign the following users: sudhishmk. Note that only tektoncd members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign |
Related PR |
Closing based on previous comment. |
Feature request
Hello and thank you for Chains development! It would be great if Chains would expose some more detailed metrics besides Knative controller default metrics. Maybe something like "how many artefacts are there still to be processed".
Use case
I'm trying to measure performance of Chains. Mine approach is to generate as many sign-able artefacts as possible and measure difference between when pod that created artefacts finished and when
"chains.tekton.dev/signed": "true"
annotation appeared.This is hard to do, because TaskRun yaml does not seem to contain any indication of when the annotation was added, so I have to iterate frequently to get that number.
If there is a metric that could be used to observe the count of remaining images to sign, that would be great.
The text was updated successfully, but these errors were encountered: