Expand description
Journal processing engine
This crate provides the core engine for processing systemd journal files, including indexing, caching, querying, and histogram computation. It’s designed to be independent of specific metrics implementations or UI frameworks.
§Key Components
- IndexingEngine: Background file indexing with worker pool and cache management
- HistogramEngine: Time-series histogram computation over journal entries
- Log Queries: Flexible log entry retrieval with filtering
- Facets: Field selection configuration for indexing
§Architecture
The engine layer provides the foundational infrastructure that higher-level crates
(like journal-sql and journal-function) build upon. It handles all the complexity
of file indexing, caching strategies, and query execution.
Re-exports§
pub use cache::FileIndexCache;pub use cache::FileIndexKey;pub use error::EngineError;pub use error::Result;pub use facets::Facets;pub use histogram::BucketRequest;pub use histogram::BucketResponse;pub use histogram::Histogram;pub use histogram::HistogramEngine;pub use histogram::calculate_bucket_duration;pub use indexing::FileIndexCacheBuilder;pub use indexing::batch_compute_file_indexes;pub use logs::CellValue;pub use logs::ColumnInfo;pub use logs::LogEntryData;pub use logs::LogQuery;pub use logs::Table;pub use logs::entry_data_to_table;pub use query_time_range::QueryTimeRange;
Modules§
- cache
- Cache types for journal file indexes
- error
- Error types for journal engine operations
- facets
- Field facets configuration for indexing
- histogram
- Histogram functionality for generating time-series data from journal files.
- indexing
- Journal file indexing infrastructure.
- logs
- Log entry formatting and display.
- query_
time_ range - Query time range with automatic alignment for histogram bucketing
Structs§
- Indexing
Limits - Configuration limits for the indexing process.