Skip to main content

Crate journal_engine

Crate journal_engine 

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

IndexingLimits
Configuration limits for the indexing process.