mirror of
https://github.com/prometheus/prometheus.git
synced 2025-11-29 06:31:01 +01:00
Merge pull request #14826 from fungiboletus/patch-2
tsdb documentation: More details about Chunks
This commit is contained in:
commit
b407c2930d
@ -25,20 +25,20 @@ in-file offset (lower 4 bytes) and segment sequence number (upper 4 bytes).
|
|||||||
└──────────────────────────────┘
|
└──────────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
# Chunk
|
# Chunk
|
||||||
|
|
||||||
```
|
```
|
||||||
┌───────────────┬───────────────────┬─────────────┬────────────────┐
|
┌───────────────┬───────────────────┬─────────────┬───────────────────┐
|
||||||
│ len <uvarint> │ encoding <1 byte> │ data <data> │ CRC32 <4 byte> │
|
│ len <uvarint> │ encoding <1 byte> │ data <data> │ checksum <4 byte> │
|
||||||
└───────────────┴───────────────────┴─────────────┴────────────────┘
|
└───────────────┴───────────────────┴─────────────┴───────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
* `<uvarint>` has 1 to 10 bytes.
|
|
||||||
* `encoding`: Currently either `XOR`, `histogram`, or `floathistogram`, see
|
* `len`: Chunk size in bytes. 1 to 10 bytes long using the [`<uvarint>` encoding](https://go.dev/src/encoding/binary/varint.go).
|
||||||
[code for numerical values](https://github.com/prometheus/prometheus/blob/02d0de9987ad99dee5de21853715954fadb3239f/tsdb/chunkenc/chunk.go#L28-L47).
|
* `encoding`: Currently either `XOR`, `histogram`, or `floathistogram`, see [code for numerical values](https://github.com/prometheus/prometheus/blob/02d0de9987ad99dee5de21853715954fadb3239f/tsdb/chunkenc/chunk.go#L28-L47).
|
||||||
* `data`: See below for each encoding.
|
* `data`: See below for each encoding.
|
||||||
|
* `checksum`: Checksum of `encoding` and `data`. It's a [cyclic redudancy check](https://en.wikipedia.org/wiki/Cyclic_redundancy_check) with the Castagnoli polynomial, serialised as an unsigned 32 bits big endian number. Can be refered as a `CRC-32C`.
|
||||||
|
|
||||||
## XOR chunk data
|
## XOR chunk data
|
||||||
|
|
||||||
@ -177,7 +177,6 @@ the encoding will therefore result in a short varbit representation. The upper
|
|||||||
bound of 33554430 is picked so that the varbit encoded value will take at most
|
bound of 33554430 is picked so that the varbit encoded value will take at most
|
||||||
4 bytes.
|
4 bytes.
|
||||||
|
|
||||||
|
|
||||||
## Float histogram chunk data
|
## Float histogram chunk data
|
||||||
|
|
||||||
Float histograms have the same layout as histograms apart from the encoding of samples.
|
Float histograms have the same layout as histograms apart from the encoding of samples.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user