-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
ApplicationSet's Work Queue Related Metrics Missing After Upgrade #12241
Comments
hi @hcelaloner |
@jaideepr97 yes that is a little bit confusing but this change seems for the application controller. I guess when applicationset controller code is merged into this repo or since it is already merged into this repo, this code also affected applicationset controller. Since it is also imported somehow (probably because cmd/main.go imports), its init function also called for applicationset controller and this somehow seems to break workqueu metrics provided by controller-runtime in the applicationset controller. |
I also see the metric missing in 2.4.* as noted here. |
application controller vs applicationset controller |
This issue also appears that it needs to be reopened: #7682 The metric is missing in the Application Controller as of:
|
Can confirm that the metric is missing in |
Checklist:
argocd version
.Describe the bug
We were following the work queue of applicationset controller using the metrics generated by the controller-runtime library. We upgraded our ArgoCD setup from v2.3.12 to v2.5.5 and we observed that metrics related to the work queue are no more generated in /metrics endpoint.
For instance, /metrics endpoint of applicationset controller was returning
workqueue_depth
metric in v2.3.12. When we upgraded to v2.5.5 it stopped returningworkqueue_depth
metric.We suspect that init function located at https://github.com/argoproj/argo-cd/blob/master/controller/metrics/workqueue.go#L70 interfere with the init function located at https://github.com/kubernetes-sigs/controller-runtime/blob/master/pkg/metrics/workqueue.go#L91-L99. Since it is imported with the following https://github.com/argoproj/argo-cd/blob/master/cmd/main.go#L9 import statement.
We built a custom image by commenting out init function located at https://github.com/argoproj/argo-cd/blob/master/controller/metrics/workqueue.go#L70. When we deployed it, we again observed the
workqueue_depth
metric from /metrics endpoint of applicationset controller. However, of course, this is not a solution, I guess it just shows the cause of the problem.To Reproduce
For instance, you can use the following steps to reproduce it,
Expected behavior
Being able to monitor all work queue metrics generated by controller-runtime library.
Version
cc: @ieud @mstfymrtc @erkanzileli @peacecwz
The text was updated successfully, but these errors were encountered: