feat: Replace DuckDB with SQLite for check-run telemetry storage - #431
Merged
Merged
Conversation
Store OTel log records directly in dated SQLite databases (.treq/telemetry-YYYY-MM-DD.db) instead of per-job JSONL files read through DuckDB. Cross-date queries ATTACH every dated database into a unioned logs view, and the SQL explorer stays read-only while the attach itself happens server-side.
Drop the dynamic-linking workarounds that existed only to bundle and
verify libduckdb.{so,dylib}: the per-arch macOS Tauri configs that
bundled it as a Framework, the CI caching/verification steps for it,
and the DYLD_LIBRARY_PATH override for the sandboxed CLI test. SQLite
via rusqlite's "bundled" feature links statically, so none of this
applies anymore.
Ziinc
force-pushed
the
claude/sqlite-telemetry-db-c10x2k
branch
from
September 5, 2026 14:01
4b1c046 to
47a948d
Compare
CI caught "database is locked" when multiple check-run jobs write into the same day's telemetry database at once: switching a brand-new SQLite file to WAL mode takes an exclusive lock that isn't reliably covered by busy_timeout's retry logic, so simultaneous first-time opens could lose that race outright. Retry the open+configure step with a short backoff instead of trusting busy_timeout alone, and add a regression test that spins up several concurrent writers.
Contributor
|
🚀 Web preview: https://preview-431.treq-9zy.pages.dev |
CI's macOS build was failing tauri's version-mismatch check: the Rust tauri crate resolved to 2.11.5 and tauri-plugin-log to 2.9.1, while the npm @tauri-apps/api and @tauri-apps/plugin-log packages were still pinned to 2.10.x/2.8.0. Bump the npm packages to the matching minors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Store OTel log records directly in dated SQLite databases
(.treq/telemetry-YYYY-MM-DD.db) instead of per-job JSONL files read
through DuckDB. Cross-date queries ATTACH every dated database into a
unioned logs view, and the SQL explorer stays read-only while the
attach itself happens server-side.