prometheus/tsdb/docs/format/chunks.md

2.1 KiB

Chunks Disk Format

The following describes the format of a chunks file, which is created in the chunks/ directory of a block. The maximum size per segment file is 512MiB.

Chunks in the files are referenced from the index by uint64 composed of in-file offset (lower 4 bytes) and segment sequence number (upper 4 bytes).

┌────────────────────────────┬─────────────────────┐
│ magic(0x85BD40DD) <4 byte> │ version(1) <1 byte> │
├────────────────────────────┴─────────────────────┤
│ ┌──────────────────────────────────────────────┐ │
│ │                   Chunk 1                    │ │
│ ├──────────────────────────────────────────────┤ │
│ │                     ...                      │ │
│ ├──────────────────────────────────────────────┤ │
│ │                   Chunk N                    │ │
│ └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────┘

Chunk

┌───────────────┬───────────────────┬──────────────┬────────────────┐
│ len <uvarint> │ encoding <1 byte> │ data <bytes> │ CRC32 <4 byte> │
└───────────────┴───────────────────┴──────────────┴────────────────┘