Add builder for exponential histograms #133967
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.
Preparation for the ES|QL exponential histogram type.
We already have methods for creating exponential histograms from raw data, this PR adds a public interface for creating them directly by specifying the buckets.
This typically is not needed in actual production code, but in tests: E.g. the ES|QL tests require the ability to create a literal for each datatype, therefore including exponential histograms. Those literals need to be serializable, which is why we need a clean way of reconstructing exponential histograms from the buckets.
For that reason the builder was written with simple maintainability in mind instead of best possible performance.