Add a benchmark for histogram allocations #3635
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a simple histogram benchmark to measure the allocations done in
collect().
The output from the benchmark is currently:
So from a linear regression we can see there is a baseline of 2 allocations of any number of histograms, from creating
rm.ScopeMetrics
andrm.ScopeMetrics.Metrics
. 1We can also see the slope of the regression is 4, so there are 4 allocations per histogram created. 2 of these are created by copying the bounds and the count slices. 2
This is just something to set our baseline for #3047.
Footnotes
Not tested here, but we would expect this to be 1+ the number of scopes that produced metrics. ↩
This is also done for Delta Histograms. ↩