v1.0.0-alpha.2
Pre-release
Pre-release
Second alpha. This release focuses on ingestion throughput and correctness on the GreptimeDB write path. The product, public APIs, SDKs, and read-path parity are unchanged from v1.0.0-alpha.1 (still based on upstream Langfuse v3.184.1).
Highlights
- Faster, stall-free ingestion drain. The live drain no longer stalls under load and is ~4× faster (~27 → ~108 traces/s in our 60k-trace benchmark). Three independent fixes: the protobuf encode + gRPC write moved to a
worker_threadspool (off the worker event loop that was starving every job'sraw_eventsread); a table-scopedraw_eventsflush keeps the per-event point read on prunable SSTs (~20× faster read); and a per-entity Redis watermark coalesces redundant rebuilds when draining a backlog. - No-delete EAV writes. The per-rebuild EAV
DELETEis replaced by a read-time generation filter — reads keep only an entity's current generation, so a dropped key is excluded without a delete. Less write amplification on a single GreptimeDB. - Correctness fixes.
- EAV generation is now unique within a millisecond — a same-millisecond re-append could otherwise collide and leave a stale EAV key visible.
- Cold start no longer leaves observation cost empty: the worker waits for the schema/model-price seeding before it begins ingesting, so generations always get their cost computed.
- The Sessions list query no longer 500s — the
session_tagssubquery now projectseav_generationso the generation-correlated tag join resolves.
For measured drain / query-latency / storage numbers vs upstream Langfuse on ClickHouse, see the benchmark report; for the new tuning knobs see operations.
Images
Published to Docker Hub, all tagged 1.0.0-alpha.2:
tma1ai/openfuse-webtma1ai/openfuse-workertma1ai/openfuse-standalone— web + worker in one container, for single-node self-hosting
This is a pre-release, so latest does not move — pin the explicit tag.
Quickstart
git clone https://github.com/tma1-ai/openfuse.git
cd openfuse
git checkout v1.0.0-alpha.2
cp .env.quickstart.example .env
docker compose -f docker-compose.standalone.yml up -dFull changelog: v1.0.0-alpha.1...v1.0.0-alpha.2