-
Notifications
You must be signed in to change notification settings - Fork 669
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
Do not emit execution id label by default in single binary #5704
Do not emit execution id label by default in single binary #5704
Conversation
Signed-off-by: Eduardo Apolinario <[email protected]>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5704 +/- ##
=======================================
Coverage 36.17% 36.17%
=======================================
Files 1302 1302
Lines 109614 109614
=======================================
+ Hits 39653 39658 +5
+ Misses 65816 65810 -6
- Partials 4145 4146 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Co-authored-by: Thomas J. Fan <[email protected]> Signed-off-by: Eduardo Apolinario <[email protected]>
Thank you! This is great as it simplifies a bit some of the queries in the Grafana user dashboard (example) |
* Do not emit execution id label by default in single binary Signed-off-by: Eduardo Apolinario <[email protected]> * Update flytestdlib/contextutils/context.go Co-authored-by: Thomas J. Fan <[email protected]> Signed-off-by: Eduardo Apolinario <[email protected]> --------- Signed-off-by: Eduardo Apolinario <[email protected]> Signed-off-by: Eduardo Apolinario <[email protected]> Co-authored-by: Eduardo Apolinario <[email protected]> Co-authored-by: Thomas J. Fan <[email protected]> Signed-off-by: pmahindrakar-oss <[email protected]>
…5704) * Do not emit execution id label by default in single binary Signed-off-by: Eduardo Apolinario <[email protected]> * Update flytestdlib/contextutils/context.go Co-authored-by: Thomas J. Fan <[email protected]> Signed-off-by: Eduardo Apolinario <[email protected]> --------- Signed-off-by: Eduardo Apolinario <[email protected]> Signed-off-by: Eduardo Apolinario <[email protected]> Co-authored-by: Eduardo Apolinario <[email protected]> Co-authored-by: Thomas J. Fan <[email protected]> Signed-off-by: Bugra Gedik <[email protected]>
Tracking issue
Closes #3991
Why are the changes needed?
Single binary emits execution-id labels to a bunch of flytepropeller and flyteadmin metrics, but since the golang prometheus golang client is setup in such a way that no metric is ever dropped (as described in prometheus/client_golang#920 (comment)), this ends up causing an apparent memory leak due to how these high cardinality metrics are stored in-memory.
What changes were proposed in this pull request?
This PR removes the execution-id label from the single binary metrics and adds a comment to hint at the potential problems caused by that setting.
I confirmed that the metric is not enabled by default in any component, nor is set in any of the shipped helm charts, while being left as a last resort debugging tool.
One could argue that we should never have had that label in the first place and instead reach out to other debugging means, like open telemetry, etc, but that's a separate discussion.
How was this patch tested?
I had a local test where I'd have a workflow composed of a single cached task. Running that in a tight loop and confirming that the increase in memory of the single binary executable is now orders of magnitude slower than before the PR.
Setup process
Screenshots
Check all the applicable boxes
Related PRs
Docs link