@ -85,34 +85,38 @@ After the labels, the number of indexed chunks is encoded, followed by a sequenc
`mint` of the first chunk is stored, it's `maxt` is stored as a delta and the `mint` and `maxt` are encoded as deltas to the previous time for subsequent chunks. Similarly, the reference of the first chunk is stored and the next ref is stored as a delta to the previous one.
```
┌───────────────────────────────────────────────────────────────────────────┐
│ len < uvarint > │
├───────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────┬────────────────────────────────────────────────────┐ │
│ │ │ ┌────────────────────────────────────────────┐ │ │
│ │ │ │ ref(l_i.name) < uvarint32 > │ │ │
│ │ #labels │ ├────────────────────────────────────────────┤ ... │ │
│ │ < uvarint64 > │ │ ref(l_i.value) < uvarint32 > │ │ │
│ │ │ └────────────────────────────────────────────┘ │ │
│ ├──────────────────┼────────────────────────────────────────────────────┤ │
│ │ │ ┌────────────────────────────────────────────┐ │ │
│ │ │ │ c_0.mint < varint64 > │ │ │
│ │ │ ├────────────────────────────────────────────┤ │ │
│ │ │ │ c_0.maxt - c_0.mint < uvarint64 > │ │ │
│ │ │ ├────────────────────────────────────────────┤ │ │
│ │ │ │ ref(c_0.data) < uvarint64 > │ │ │
│ │ #chunks │ └────────────────────────────────────────────┘ │ │
│ │ < uvarint64 > │ ┌────────────────────────────────────────────┐ │ │
│ │ │ │ c_i.mint - c_i-1.maxt < uvarint64 > │ │ │
│ │ │ ├────────────────────────────────────────────┤ │ │
│ │ │ │ c_i.maxt - c_i.mint < uvarint64 > │ │ │
│ │ │ ├────────────────────────────────────────────┤ ... │ │
│ │ │ │ ref(c_i.data) - ref(c_i-1.data) < varint64 > │ │ │
│ │ │ └────────────────────────────────────────────┘ │ │
│ └──────────────────┴────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────────────┤
│ CRC32 < 4b > │
└───────────────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────┐
│ len < uvarint > │
├──────────────────────────────────────────────────────────────────────────┤
│ ┌──────────────────────────────────────────────────────────────────────┐ │
│ │ #labels < uvarint64 > │ │
│ ├──────────────────────────────────────────────────────────────────────┤ │
│ │ ┌────────────────────────────────────────────┐ │ │
│ │ │ ref(l_i.name) < uvarint32 > │ │ │
│ │ ├────────────────────────────────────────────┤ ... │ │
│ │ │ ref(l_i.value) < uvarint32 > │ │ │
│ │ └────────────────────────────────────────────┘ │ │
│ ├──────────────────────────────────────────────────────────────────────┤ │
│ │ #chunks < uvarint64 > │ │
│ ├──────────────────────────────────────────────────────────────────────┤ │
│ │ ┌────────────────────────────────────────────┐ │ │
│ │ │ c_0.mint < varint64 > │ │ │
│ │ ├────────────────────────────────────────────┤ │ │
│ │ │ c_0.maxt - c_0.mint < uvarint64 > │ │ │
│ │ ├────────────────────────────────────────────┤ │ │
│ │ │ ref(c_0.data) < uvarint64 > │ │ │
│ │ └────────────────────────────────────────────┘ │ │
│ │ ┌────────────────────────────────────────────┐ │ │
│ │ │ c_i.mint - c_i-1.maxt < uvarint64 > │ │ │
│ │ ├────────────────────────────────────────────┤ │ │
│ │ │ c_i.maxt - c_i.mint < uvarint64 > │ │ │
│ │ ├────────────────────────────────────────────┤ ... │ │
│ │ │ ref(c_i.data) - ref(c_i-1.data) < varint64 > │ │ │
│ │ └────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
├──────────────────────────────────────────────────────────────────────────┤
│ CRC32 < 4b > │
└──────────────────────────────────────────────────────────────────────────┘
```