RLE + zstd compression codec for text time-series.
Groups consecutive points with the same string value into a single entry, storing the string once with all associated timestamps. The resulting binary is then zstd-compressed.
Binary format (pre-zstd):
entry_count 4 bytes uint32
Per entry:
ts_count 4 bytes uint32
timestamps ts_count * 8 bytes (each int64)
value_len 4 bytes uint32
value value_len bytes (UTF-8 string)
Summary
Functions
Compress a list of {timestamp, string} points into a binary.
Decompress a binary back into {timestamp, string} points.
Functions
Compress a list of {timestamp, string} points into a binary.
Points must be sorted by timestamp. Consecutive points with the same string value are grouped into a single RLE entry.
Decompress a binary back into {timestamp, string} points.