-
Notifications
You must be signed in to change notification settings - Fork 867
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
fix(controller): Remove name label from some k8s client metrics #2851
Conversation
52fcb27
to
c87bbd8
Compare
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #2851 +/- ##
==========================================
- Coverage 81.66% 81.66% -0.01%
==========================================
Files 133 133
Lines 20192 20187 -5
==========================================
- Hits 16490 16485 -5
Misses 2849 2849
Partials 853 853
☔ View full report in Codecov by Sentry. |
I wonder if instead of dropping name from everything we just set name to something like "N/A" for the resources that have random strings in it or we strip the random parts off if that is an easy task as well. It's nice to have the name of the rollout object that is causing a request to be made but agree the random fields are a bad anti-pattern and should probably be cleaned up. |
@zachaller The problem is that |
Let me look over some of the raw data to see if it's possible to filter out specific resources. |
Another source of cardinality problems is
Over a week we get 2000 of these metrics. |
For If you really want to keep the |
One other thing what version of rollouts are you on because pre this it would be even worse, however I do agree the cardinality here can get bad we have turned it off as well. if we remove name/namespace on the RO object though I think the whole stat actually becomes even less usefull because k8s itself has request metrics at the kind level |
We are running 1.5.x. |
The `name` label in the `controller_clientset_k8s_request_total` metric produce an excessive amount of cardinality for `events` and `replicasets`. This can lead to hundreds of thousands of unique metrics over a couple weeks in a large deployment. Set the name to "N/A" for these client request types. Signed-off-by: SuperQ <[email protected]>
61740e9
to
e508d29
Compare
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
Ok, I've simplified this to just the top two sources of cardinality leaks. |
The
name
label in thecontroller_clientset_k8s_request_total
metricproduce an excessive amount of cardinality for
events
andreplicasets
.This can lead to hundreds of thousands of unique metrics over a couple
weeks in a large deployment. Set the name to "N/A" for these client request
types.
Checklist:
"fix(controller): Updates such and such. Fixes #1234"
.