Skip to content

Commit 92edc35

Browse files
committed
fixup! chore: Update ASCII diagram of chunk binary encoding
Signed-off-by: Christian Haudum <christian.haudum@gmail.com>
1 parent dc8b06a commit 92edc35

File tree

2 files changed

+54
-25
lines changed

2 files changed

+54
-25
lines changed

docs/sources/operations/storage/_index.md

+52-25
Original file line numberDiff line numberDiff line change
@@ -135,29 +135,56 @@ See the [IBM Cloud Object Storage section](https://grafana.com/docs/loki/<LOKI_V
135135
## Chunk Format
136136

137137
```
138-
-------------------------------------------------------------------
139-
| | |
140-
| MagicNumber(4b) | version(1b) |
141-
| | |
142-
-------------------------------------------------------------------
143-
| block-1 bytes | checksum (4b) |
144-
-------------------------------------------------------------------
145-
| block-2 bytes | checksum (4b) |
146-
-------------------------------------------------------------------
147-
| block-n bytes | checksum (4b) |
148-
-------------------------------------------------------------------
149-
| #blocks (uvarint) |
150-
-------------------------------------------------------------------
151-
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) |
152-
-------------------------------------------------------------------
153-
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) |
154-
-------------------------------------------------------------------
155-
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) |
156-
-------------------------------------------------------------------
157-
| #entries(uvarint) | mint, maxt (varint) | offset, len (uvarint) |
158-
-------------------------------------------------------------------
159-
| checksum(from #blocks) |
160-
-------------------------------------------------------------------
161-
| metasOffset - offset to the point with #blocks |
162-
-------------------------------------------------------------------
138+
// Header
139+
+-----------------------------------+
140+
| Magic Number (uint32, 4 bytes) |
141+
+-----------------------------------+
142+
| Version (1 byte) |
143+
+-----------------------------------+
144+
| Encoding (1 byte) |
145+
+-----------------------------------+
146+
147+
// Blocks
148+
+--------------------+----------------------------+
149+
| block 1 (n bytes) | checksum (uint32, 4 bytes) |
150+
+--------------------+----------------------------+
151+
| block 1 (n bytes) | checksum (uint32, 4 bytes) |
152+
+--------------------+----------------------------+
153+
| ... |
154+
+--------------------+----------------------------+
155+
| block N (n bytes) | checksum (uint32, 4 bytes) |
156+
+--------------------+----------------------------+
157+
158+
// Metas
159+
+------------------------------------------------------------------------------------------------------------------------+
160+
| #blocks (uvarint) |
161+
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+
162+
| #entries (uvarint) | minTs (uvarint) | maxTs (uvarint) | offset (uvarint) | len (uvarint) | uncompressedSize (uvarint) |
163+
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+
164+
| #entries (uvarint) | minTs (uvarint) | maxTs (uvarint) | offset (uvarint) | len (uvarint) | uncompressedSize (uvarint) |
165+
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+
166+
| ... |
167+
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+
168+
| #entries (uvarint) | minTs (uvarint) | maxTs (uvarint) | offset (uvarint) | len (uvarint) | uncompressedSize (uvarint) |
169+
+--------------------+-----------------+-----------------+------------------+---------------+----------------------------+
170+
| checksum (uint32, 4 bytes) |
171+
+------------------------------------------------------------------------------------------------------------------------+
172+
173+
// Structured Metadata
174+
+---------------------------------+
175+
| #labels (uvarint) |
176+
+---------------+-----------------+
177+
| len (uvarint) | value (n bytes) |
178+
+---------------+-----------------+
179+
| ... |
180+
+---------------+-----------------+
181+
| checksum (uint32, 4 bytes) |
182+
+---------------------------------+
183+
184+
// Footer
185+
+-----------------------+--------------------------+
186+
| len (uint64, 8 bytes) | offset (uint64, 8 bytes) | // offset to Structured Metadata
187+
+-----------------------+--------------------------+
188+
| len (uint64, 8 bytes) | offset (uint64, 8 bytes) | // offset to Metas
189+
+-----------------------+--------------------------+
163190
```

pkg/chunkenc/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@
4242
+---------------+-----------------+
4343
| len (uvarint) | value (n bytes) |
4444
+---------------+-----------------+
45+
| ... |
46+
+---------------+-----------------+
4547
| checksum (uint32, 4 bytes) |
4648
+---------------------------------+
4749

0 commit comments

Comments
 (0)