mirror of https://github.com/grafana/loki
chore: Update ASCII diagram of chunk binary encoding (#15386)
Signed-off-by: Christian Haudum <christian.haudum@gmail.com>pull/15487/head
parent
2a23cc836e
commit
c8a4afe2ac
@ -1,28 +1,56 @@ |
||||
# Chunk format |
||||
# Chunk v4 format |
||||
|
||||
``` |
||||
| | | |
||||
| MagicNumber(4b) | version(1b) | |
||||
| | | |
||||
-------------------------------------------------- |
||||
| block-1 bytes | checksum (4b) | |
||||
-------------------------------------------------- |
||||
| block-2 bytes | checksum (4b) | |
||||
-------------------------------------------------- |
||||
| block-n bytes | checksum (4b) | |
||||
-------------------------------------------------- |
||||
| #blocks (uvarint) | |
||||
-------------------------------------------------- |
||||
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) | uncompressedSize (uvarint) | |
||||
------------------------------------------------------------------------------------------------ |
||||
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) | uncompressedSize (uvarint) | |
||||
------------------------------------------------------------------------------------------------ |
||||
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) | uncompressedSize (uvarint) | |
||||
------------------------------------------------------------------------------------------------ |
||||
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) | uncompressedSize (uvarint) | |
||||
------------------------------------------------------------------------------------------------ |
||||
| checksum(from #blocks) | |
||||
------------------------------------------------------------------- |
||||
| metasOffset - offset to the point with #blocks | |
||||
-------------------------------------------------- |
||||
// Header |
||||
+-----------------------------------+ |
||||
| Magic Number (uint32, 4 bytes) | |
||||
+-----------------------------------+ |
||||
| Version (1 byte) | |
||||
+-----------------------------------+ |
||||
| Encoding (1 byte) | |
||||
+-----------------------------------+ |
||||
|
||||
// Blocks |
||||
+--------------------+----------------------------+ |
||||
| block 1 (n bytes) | checksum (uint32, 4 bytes) | |
||||
+--------------------+----------------------------+ |
||||
| block 1 (n bytes) | checksum (uint32, 4 bytes) | |
||||
+--------------------+----------------------------+ |
||||
| ... | |
||||
+--------------------+----------------------------+ |
||||
| block N (n bytes) | checksum (uint32, 4 bytes) | |
||||
+--------------------+----------------------------+ |
||||
|
||||
// Metas |
||||
+------------------------------------------------------------------------------------------------------------------------+ |
||||
| #blocks (uvarint) | |
||||
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+ |
||||
| #entries (uvarint) | minTs (uvarint) | maxTs (uvarint) | offset (uvarint) | len (uvarint) | uncompressedSize (uvarint) | |
||||
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+ |
||||
| #entries (uvarint) | minTs (uvarint) | maxTs (uvarint) | offset (uvarint) | len (uvarint) | uncompressedSize (uvarint) | |
||||
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+ |
||||
| ... | |
||||
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+ |
||||
| #entries (uvarint) | minTs (uvarint) | maxTs (uvarint) | offset (uvarint) | len (uvarint) | uncompressedSize (uvarint) | |
||||
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+ |
||||
| checksum (uint32, 4 bytes) | |
||||
+------------------------------------------------------------------------------------------------------------------------+ |
||||
|
||||
// Structured Metadata |
||||
+---------------------------------+ |
||||
| #labels (uvarint) | |
||||
+---------------+-----------------+ |
||||
| len (uvarint) | value (n bytes) | |
||||
+---------------+-----------------+ |
||||
| ... | |
||||
+---------------+-----------------+ |
||||
| checksum (uint32, 4 bytes) | |
||||
+---------------------------------+ |
||||
|
||||
// Footer |
||||
+-----------------------+--------------------------+ |
||||
| len (uint64, 8 bytes) | offset (uint64, 8 bytes) | // offset to Structured Metadata |
||||
+-----------------------+--------------------------+ |
||||
| len (uint64, 8 bytes) | offset (uint64, 8 bytes) | // offset to Metas |
||||
+-----------------------+--------------------------+ |
||||
``` |
||||
|
||||
Loading…
Reference in new issue