# gorilla_stream v3.0.1 - 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.