more clear format representation

Signed-off-by: naivewong <867245430@qq.com>
This commit is contained in:
naivewong 2019-02-06 00:05:30 +08:00
parent 1f723a8eb5
commit 0649dfddf0
1 changed files with 32 additions and 28 deletions

View File

@ -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>
└──────────────────────────────────────────────────────────────────────────┘
```