-
Notifications
You must be signed in to change notification settings - Fork 153
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 var generation benchmark #6028
Conversation
This pull request does not have a backport label. Could you fix it @swiatekm? 🙏
|
|
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
Really like seeing ways to quantify the improvements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
I imagine we are going to track the results of this benchmark in PRs aimed to improve k8s variable performance but do we have plans to track changes to the benchmark results for the long term ? Are we going to rely on CI to keep track of these results ?
a321387
to
dcfb0fb
Compare
My impression is that this code changes infrequently enough that this wouldn't give us much benefit vs the work necessary, unless we already have a benchmark result tracking solution that would be easy to use. I was mostly hoping that whenever someone makes a change to var generation, they could run this manually. |
Quality Gate passedIssues Measures |
(cherry picked from commit be35854)
(cherry picked from commit be35854) Co-authored-by: Mikołaj Świątek <[email protected]>
(cherry picked from commit be35854)
(cherry picked from commit be35854)
(cherry picked from commit be35854) Co-authored-by: Mikołaj Świątek <[email protected]>
(cherry picked from commit be35854) Co-authored-by: Mikołaj Świątek <[email protected]>
What does this PR do?
Add a benchmark for variable generation from provider mappings. We specifically profile having a lot of Pods from the Kubernetes provider, which is something that has recently become a problem, and which the configuration generation pipeline doesn't deal with very well. I used test data from a real environment where the problems outlined in #5991 and #5835 could be reproduced.
Results on
main
:Why is it important?
I'd like to make some improvements to both the var generation and the configuration generation in the coordinator, and want a straightforward way of demonstrating their impact.
Checklist
Related issues