-
Notifications
You must be signed in to change notification settings - Fork 10.3k
nhcb: add optional field to prometheus remote write protobuf definition for custom bucket specification #13475
Copy link
Copy link
Closed
Milestone
Description
Proposal
Related to prometheus/proposals#31
The histogram message type should have a new optional field that is a list of float64 values. These are to describe the custom bucket upper boundaries (excl. +Inf which is implicit). So basically encode what we currently put in the le label.
- Add
custom_boundsfield to remote write specification 2.0 : types.proto.// custom_bounds specify upper bounds for the buckets // with arbitrary widths for this histogram. The upper bounds are inclusive (following `le` label semantics), // however, the previous bound specifies the lower bound (exclusive), making the bucket count // non-cumulative (as opposed to `le` semantics in the past). // Bounds have to be monotonically increasing. // The last element is also a lower bound for the implicit +Inf bucket (overflow buckets). // The first element is the upper inclusive boundary for the first bucket, // which implicitly has a lower inclusive bound of -Inf. repeated double custom_bounds = 16; - Update the note of the field
schemato allow schema number 127. And also explain that in that casecustom_boundsis taken into account for interpreting the custom buckets (stored inpositive_spans,positive_deltas,positive_counts). Furthermorenegative_spans,negative_deltas,negative_counts,zero_countandzero_thresholdshould be ignored. - Test what happens to Prometheus if we send a remote write request with custom bucket definition and schema value of 127 - Prometheus should gracefully reject the sample currently (regardless of native histogram feature toggle!)
- Test the the field is truly optional and if not set, causes no problem.
This issue should target remote write 2.0.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels