Skip to main content

Crate tale_ndjson

Crate tale_ndjson 

Source
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.