Get desktop application:
View/edit binary Protocol Buffers messages
A BucketSpan defines a number of consecutive buckets with their offset. Logically, it would be more straightforward to include the bucket counts in the Span. However, the protobuf representation is more compact in the way the data is structured here (with all the buckets in a single array separate from the Spans).
Used in:
Gap to previous span, or starting point for 1st span (which can be negative).
Length of consecutive buckets.
Chunk represents a TSDB chunk. Time range [min, max] is inclusive.
Used in:
We require this to match chunkenc.Encoding.
Used in:
ChunkedReadResponse is a response when response_type equals STREAMED_XOR_CHUNKS. We strictly stream full series after series, optionally split by time. This means that a single frame can contain partition of the single series, but once a new series is started to be streamed it means that no more chunks will be sent for previous one. Series are returned sorted in the same way TSDB block are internally.
query_index represents an index of the query from ReadRequest.queries these chunks relates to.
ChunkedSeries represents single, encoded time series.
Used in:
Labels should be sorted.
Chunks will be in start time order and may overlap.
Used in:
Optional, can be empty.
timestamp is in ms format, see model/timestamp/timestamp.go for conversion from time.Time to Prometheus timestamp.
A native histogram, also known as a sparse histogram. Original design doc: https://docs.google.com/document/d/1cLNv3aufPZb3fNfaJgdaRBZsInZKKIHo9E6HinJVbpM/edit The appendix of this design doc also explains the concept of float histograms. This Histogram message can represent both, the usual integer histogram as well as a float histogram.
Used in:
Count of observations in the histogram.
Sum of observations in the histogram.
The schema defines the bucket schema. Currently, valid numbers are -4 <= n <= 8. They are all for base-2 bucket schemas, where 1 is a bucket boundary in each case, and then each power of two is divided into 2^n logarithmic buckets. Or in other words, each bucket boundary is the previous boundary times 2^(2^-n). In the future, more bucket schemas may be added using numbers < -4 or > 8.
Breadth of the zero bucket.
Count in zero bucket.
Negative Buckets.
Use either "negative_deltas" or "negative_counts", the former for regular histograms with integer counts, the latter for float histograms.
Count delta of each bucket compared to previous one (or to zero for 1st bucket).
Absolute count of each bucket.
Positive Buckets.
Use either "positive_deltas" or "positive_counts", the former for regular histograms with integer counts, the latter for float histograms.
Count delta of each bucket compared to previous one (or to zero for 1st bucket).
Absolute count of each bucket.
timestamp is in ms format, see model/timestamp/timestamp.go for conversion from time.Time to Prometheus timestamp.
Used in:
Need to test for a counter reset explicitly.
This is the 1st histogram after a counter reset.
There was no counter reset between this and the previous Histogram.
This is a gauge histogram where counter resets don't happen.
Used in:
, , ,Matcher specifies a rule, which can match or set of labels or not.
Used in:
Used in:
Used in:
Represents the metric type, these match the set from Prometheus. Refer to model/textparse/interface.go for details.
Used in:
Used in:
Used in:
Samples within a time series must be ordered by time.
Used in:
Query step size in milliseconds.
String representation of surrounding function or aggregation.
Start time in milliseconds.
End time in milliseconds.
List of label names used in aggregation.
Indicate whether it is without or by.
Range vector selector range in milliseconds.
ReadRequest represents a remote read request.
accepted_response_types allows negotiating the content type of the response. Response types are taken from the list in the FIFO order. If no response type in `accepted_response_types` is implemented by server, error is returned. For request that do not contain `accepted_response_types` field the SAMPLES response type will be used.
Used in:
Server will return a single ReadResponse message with matched series that includes list of raw samples. It's recommended to use streamed response types instead. Response headers: Content-Type: "application/x-protobuf" Content-Encoding: "snappy"
Server will stream a delimited ChunkedReadResponse message that contains XOR or HISTOGRAM(!) encoded chunks for a single series. Each message is following varint size and fixed size bigendian uint32 for CRC32 Castagnoli checksum. Response headers: Content-Type: "application/x-streamed-protobuf; proto=prometheus.ChunkedReadResponse" Content-Encoding: ""
ReadResponse is a response when response_type equals SAMPLES.
In same order as the request's queries.
Used in:
timestamp is in ms format, see model/timestamp/timestamp.go for conversion from time.Time to Prometheus timestamp.
TimeSeries represents samples and labels for a single time series.
Used in:
,For a timeseries to be valid, and for the samples and exemplars to be ingested by the remote system properly, the labels field is required.