# gorilla_stream v3.0.3 - Table of Contents

A high-performance, lossless compression library for time series data implementing Facebook's Gorilla compression algorithm.

## Pages

- [Gorilla Stream Library - User Guide](user_guide.md)
- [Gorilla Stream Library - Performance Guide](performance_guide.md)
- [Gorilla Stream Library - Troubleshooting Guide](troubleshooting.md)

## Modules

- [GorillaStream](GorillaStream.md): GorillaStream - High-performance time series compression using the Gorilla algorithm.
- [GorillaStream.Compression.Container](GorillaStream.Compression.Container.md): Container compression utilities for GorillaStream.
- [GorillaStream.Compression.Decoder.BitUnpacking](GorillaStream.Compression.Decoder.BitUnpacking.md): Bit unpacking module for extracting timestamp and value bitstreams from packed binary data.
- [GorillaStream.Compression.Decoder.DeltaDecoding](GorillaStream.Compression.Decoder.DeltaDecoding.md): Delta-of-delta decoding for timestamps in the Gorilla compression algorithm.
- [GorillaStream.Compression.Decoder.Metadata](GorillaStream.Compression.Decoder.Metadata.md): Metadata extraction module for Gorilla compression decompression.
- [GorillaStream.Compression.Decoder.ValueDecompression](GorillaStream.Compression.Decoder.ValueDecompression.md): XOR-based value decompression for floating-point values in the Gorilla algorithm.
- [GorillaStream.Compression.Encoder.BitPacking](GorillaStream.Compression.Encoder.BitPacking.md): Bit packing module for combining timestamp deltas and compressed values into a single bitstream.
- [GorillaStream.Compression.Encoder.BitWriter](GorillaStream.Compression.Encoder.BitWriter.md): Utility module for incrementally building a bitstring using iodata.
It accumulates bits in a buffer and flushes complete bytes to an iolist,
preserving performance while allowing non-byte-aligned final output.

- [GorillaStream.Compression.Encoder.DeltaEncoding](GorillaStream.Compression.Encoder.DeltaEncoding.md): Delta-of-delta encoding for timestamps as used in the Gorilla compression algorithm.
- [GorillaStream.Compression.Encoder.Metadata](GorillaStream.Compression.Encoder.Metadata.md): Metadata handling module for adding metadata to compressed data in Gorilla compression.
- [GorillaStream.Compression.Encoder.ValueCompression](GorillaStream.Compression.Encoder.ValueCompression.md): XOR-based value compression for floating-point values as used in the Gorilla algorithm.
- [GorillaStream.Compression.Enhancements](GorillaStream.Compression.Enhancements.md): Optional preprocessing helpers inspired by VictoriaMetrics to improve
compressibility on top of Gorilla.
- [GorillaStream.Compression.Gorilla](GorillaStream.Compression.Gorilla.md): Implements Gorilla compression for time series data streams.
- [GorillaStream.Compression.Gorilla.Decoder](GorillaStream.Compression.Gorilla.Decoder.md): Main decoder for the Gorilla compression algorithm.
- [GorillaStream.Compression.Gorilla.Encoder](GorillaStream.Compression.Gorilla.Encoder.md): Main encoder for the Gorilla compression algorithm.
- [GorillaStream.Compression.Gorilla.EncoderOptimized](GorillaStream.Compression.Gorilla.EncoderOptimized.md): Optimized encoder for Gorilla compression.
- [GorillaStream.Config](GorillaStream.Config.md): Configuration and auto-tuning utilities for GorillaStream.
- [GorillaStream.File](GorillaStream.File.md): File I/O utilities for GorillaStream compression.
- [GorillaStream.Performance.MetricSnapshots](GorillaStream.Performance.MetricSnapshots.md): Periodic metric snapshot system that captures operations per second and memory usage
every 10 seconds during benchmark execution.
- [GorillaStream.Performance.MetricSnapshots.Snapshot](GorillaStream.Performance.MetricSnapshots.Snapshot.md): Represents a single metric snapshot
- [GorillaStream.Performance.MetricSnapshots.State](GorillaStream.Performance.MetricSnapshots.State.md): GenServer state for tracking metrics
- [GorillaStream.Performance.RealisticData](GorillaStream.Performance.RealisticData.md): Utilities for generating realistic time-series data for tests and benchmarks.
- [GorillaStream.Scripts.CompressionAnalysis](GorillaStream.Scripts.CompressionAnalysis.md): Analysis script to determine when to use zlib with Gorilla compression.
- [GorillaStream.Stream](GorillaStream.Stream.md): Streaming compression for very large datasets that don't fit in memory.
- [GorillaStream.Validator](GorillaStream.Validator.md): Data validation and quality checking utilities for time series data.

## Mix Tasks

- [mix gorilla_stream.compression_analysis](Mix.Tasks.GorillaStream.CompressionAnalysis.md): Runs compression analysis to determine when to use zlib with Gorilla compression.
- [mix gorilla_stream.vm_benchmark](Mix.Tasks.GorillaStream.VmBenchmark.md): Benchmarks compression variants on representative datasets:
- Gorilla only
- Gorilla + VictoriaMetrics preprocessing (auto and fixed decimals)
- zlib only (on raw binary)
- Gorilla -> zlib
- Gorilla+VM -> zlib
- [mix gorilla_stream.vm_benchmark_json](Mix.Tasks.GorillaStream.VmBenchmarkJson.md): Produces a JSON summary for POC comparisons. You can write to a file or log to stdout via Logger.

