Repolode
monoscope-tech

monoscope-tech/timefusion

A timeseries database for logs, traces, metrics and events that stores data as Delta Lake tables on S3 and is queried via the PostgreSQL wire protocol.

Stars
223
Forks
9
Open issues
7
Last commit
11 hours ago

What is it?

TimeFusion stores observability data such as logs, traces, metrics and events as Delta Lake tables on your own S3-compatible object storage, such as S3, MinIO or R2. It exposes the PostgreSQL wire protocol, so psql and standard Postgres drivers can insert and query data without a new client. Query execution is handled by Apache DataFusion over Parquet files.

Writes go through a write-ahead log and an in-memory buffer, then flush to Delta in the background, so inserts are acknowledged quickly. Queries combine the in-memory buffer with data on S3, so recently written rows are visible right away. Data is partitioned by project_id and date, and queries are expected to filter on project_id for tenant isolation and partition pruning.

The project is pre-1.0 and runs in production at APIToolkit. A single process must own a given WAL directory, and configuration covers buffer size, flush interval and a memory plus disk cache built on Foyer.

Key features

  • 01Stores data as Parquet under a Delta Lake transaction log on S3-compatible storage.
  • 02Accepts connections from psql and any PostgreSQL driver.
  • 03Runs analytical SQL with DataFusion, including window functions and PERCENTILE_CONT.
  • 04Buffers writes in a WAL and in-memory buffer, flushing to Delta in the background.
  • 05Partitions and isolates data by project_id.
  • 06Provides a memory and disk cache via Foyer.

Use cases

  • Storing application logs and OpenTelemetry traces in your own S3 bucket.
  • Running latency and error-rate analysis over per-project event data with standard SQL.
  • Giving existing Postgres-based BI or observability tools access to event data without a new client.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/monoscope-tech/timefusion.git
  2. 2

    Start the bundled Compose stack (includes local MinIO, no AWS account needed)

    docker compose up
  3. 3

    Connect with psql on port 5432

    psql "postgresql://postgres:postgres@localhost:5432/postgres"

Things to know

  • The project is pre-1.0, so schema, wire behavior and configuration can change between releases.
  • Only one TimeFusion process may run against a given WAL directory at a time.
  • Queries should always filter on project_id, or they scan across tenants and run much slower.
  • Building from source requires Rust 1.85 or newer.

In collections

Topics

#timeseries#observability#delta-lake#postgresql#datafusion#parquet#s3#logs

FAQ

What is timefusion?
A timeseries database for logs, traces, metrics and events that stores data as Delta Lake tables on S3 and is queried via the PostgreSQL wire protocol. TimeFusion stores observability data such as logs, traces, metrics and events as Delta Lake tables on your own S3-compatible object storage, such as S3, MinIO or R2. It exposes the PostgreSQL wire protocol, so psql and standard Postgres drivers can insert and query data without a new client. Query execution is handled by Apache DataFusion over Parquet files.
Is timefusion free to use? What license does it have?
timefusion is open source under the MIT license. Check the license terms before using it in commercial products.
Is timefusion still maintained?
Actively maintained. The last commit to timefusion was on Nov 7, 2026.
What can I use timefusion for?
Storing application logs and OpenTelemetry traces in your own S3 bucket. Running latency and error-rate analysis over per-project event data with standard SQL. Giving existing Postgres-based BI or observability tools access to event data without a new client.
How do I install timefusion?
Clone the repository: git clone https://github.com/monoscope-tech/timefusion.git Start the bundled Compose stack (includes local MinIO, no AWS account needed): docker compose up Connect with psql on port 5432: psql "postgresql://postgres:postgres@localhost:5432/postgres"
Where can I get timefusion?
The source code and installation instructions are on GitHub: https://github.com/monoscope-tech/timefusion

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects