Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/chunkenc
Christian Haudum c8a4afe2ac
chore: Update ASCII diagram of chunk binary encoding (#15386)
5 months ago
..
testdata Improve metric queries by computing samples at the edges. (#2293) 5 years ago
README.md chore: Update ASCII diagram of chunk binary encoding (#15386) 5 months ago
dumb_chunk.go chore: Clarify compression package (#14257) 8 months ago
encoding_helpers.go Improve checkpoint series iterator. (#3193) 4 years ago
facade.go chore: update loki modules for 3.0 release (#12433) 1 year ago
hash_test.go chore: update loki modules for 3.0 release (#12433) 1 year ago
interface.go chore: Clarify compression package (#14257) 8 months ago
interface_test.go chore: Move compression utilities into separate package (#14167) 8 months ago
memchunk.go chore: Preparation for incoming static code analysis CI check (#15164) 6 months ago
memchunk_test.go fix(ci): transform TestChunkSize into a benchmark (#15361) 5 months ago
pool.go chore: Move compression utilities into separate package (#14167) 8 months ago
symbols.go chore: Move compression utilities into separate package (#14167) 8 months ago
symbols_test.go chore: Move compression utilities into separate package (#14167) 8 months ago
unordered.go chore: Move compression utilities into separate package (#14167) 8 months ago
unordered_test.go chore: Clarify compression package (#14257) 8 months ago
util_test.go chore: Clarify compression package (#14257) 8 months ago

README.md

Chunk v4 format

// 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
+-----------------------+--------------------------+