Expand description
Tale - A high-performance log pretty-printer for ndjson files
This library provides utilities for reading, parsing, and formatting newline-delimited JSON log files with memory-efficient processing and adaptive chunking strategies.
Re-exports§
pub use errors::TaleError;pub use memory_budget::MemoryBudget;pub use memory_budget::MemoryPressure;pub use readers::strategies::IsStrategy;pub use readers::strategies::Strategy;pub use readers::ChunkedFileReader;pub use readers::FileProcessor;
Modules§
- config
- A module to corral configuration to the side and into a single source of truth. Provides conveniences for answering config questions without having to pass batons around.
- defaults
- System defaults and configuration constants for Tale
- errors
- Custom error types for tale with rich diagnostic information
- json_
profiler - JSON deserialization profiling for Phase 2.3
- logpatterns
- JSON log patterns and deserialization implementations, plus pretty-printing for all identified varieties. Also, traits for all of them, so everything outside this module doesn’t have to care what kind of log pattern it is: its just a printable log.
- memory_
budget - Memory budget management for adaptive chunking
- metrics
- Reading files by adaptive chunk sizes to adapt to memory pressure and file size. We want to scale down if we’re on a puny container on some Raspberry Pi in the cloud, and scale up if we’re on monstro the memory-stuffed real-hardware luxury box. We also want to cope with what we’re being asked to juggle.
- multiplexed
- Weaving together output from more than one file.
- readers
- File processing architecture with different strategies for various use cases.
Structs§
- Args
- A tail-compatible tool for pretty-printing ndjson files, especially logs.
Functions§
- process_
line - Process a single line of input (JSON or plain text) and write to output.
- strip_
line_ ending - Strip trailing newline(s) from the string input, handling Windows line endings as well.