-
Notifications
You must be signed in to change notification settings - Fork 54
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
Use labels.ScratchBuilder to produce aggregate series #294
Conversation
I caught the cases where we don't set output buffer sizes by panicking in the pool if the size is 0. Maybe we can have an implementation of the pool which does this and use it in tests? |
This commit updates aggregate operators to use the newly introduced labels.ScratchBuilder from Prometheus when calculating output series. It also adjusts all operators to make sure they set the pool buffer size before allocating output samples. Signed-off-by: Filip Petkovski <[email protected]>
7533ffc
to
293d894
Compare
Signed-off-by: Filip Petkovski <[email protected]>
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.
lgtm
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.
LGTM!
671d55a#commitcomment-122044835 seems like this degraded performance? 🤔 actually, just one run's CPU usage jumped so perhaps this was a flake |
Yeah I also saw that, it's pretty cool that the CI job can report this. I will take a look at the change again to see if is legit. |
Whaaa thast pretty big regression for absent |
This commit updates aggregate operators to use the newly introduced labels.ScratchBuilder from Prometheus when calculating output series.
Showing only differences in the memory benchmark. It looks like there's a measurable difference for aggregates with grouping labels.
It also adjusts all operators to make sure they set the pool buffer size before allocating output samples.