Repository navigation
Conversation
…n-flight queries Keep trace ids on the snapshot instead of re-parsing row text; fetch a trace's waterfall only once the cursor settles (120 ms, Enter skips) and serve revisits from a 16-entry LRU. The waterfall pane draws its own spinner without the banner or input lock. Ctrl-C (any mode) and Esc (while a query holds the keyboard) cancel by generation; App::apply now releases the lock only for a current-generation result. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Build a by-name ProjectionMask per segment and coerce the buffer snapshot to the same projected schema, so narrow queries no longer decode the wide JSON columns. Guarded by an on/off batch-for-batch equality test over a schema-evolved corpus. bytes_scanned now counts projected columns only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…dedup against the real function attr_eq_sql compares a promoted dictionary column without CAST, falling back to the JSON only where the column is NULL. The PromQL-agreement test moves into imbh-lgtm so it calls collapse_duplicate_samples directly instead of a transcribed copy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…partitions first The codec becomes durable state like promote and retention: recorded in db.info, inherited when DbBuilder::compression is omitted, and used by the housekeeper and in-process compaction. A capped pass (prepare_pending max_jobs, Db::compact_bounded) now takes partitions oldest-first with a deterministic tiebreak. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ry; opt-in daemon test The remap seed was frozen at StartLogging, so scripts saw a stale .resource and an override built from it dropped container.network.* attributes. Add an opt-in (#[ignore] + IMBH_DOCKER_DAEMON_E2E=1) test of the plugin packaging path against a real daemon; build.sh honours CARGO_TARGET_DIR and an optional PLUGIN_STAMP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…OURNAL) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
A
tackle-todossweep that closes ten openTODO.mditems in five independent units, one commit each, plus a docs commit.Changes
imbh-tui):Ctrl-Ccancels a query in any mode and never quits;Esccancels while a query holds the keyboard.imbh-query): each segment's Parquet reader gets aProjectionMaskmatched by column name, and the buffer is coerced to the same projected schema.count(*)8.1 → 1.7 ms; spanshex(trace_id) = …7.1 → 2.3 ms;matches(name, …)10.8 → 4.0 ms at mid cardinality.imbh):attr_eq_sqlcompares a promoted key withoutCAST, about 0.1–0.5 ms faster per 100k rows, with unchanged results.imbh-lgtmand now calls the realcollapse_duplicate_samples.imbh-storage/imbh): the codec is durable indb.info, like promote and retention, so the housekeeper and compaction write with the host's codec.imbh-server): a remap script's.resourcenow refreshes after network discovery.container.network.*from records whose script set.resource.Behaviour changes worth a look
Db::compact_boundedspends its budget oldest-first. Before, it worked through every logs partition before any spans partition.ScanStats::bytes_scannedcounts only projected columns, so it reads about 0 forcount(*).App::apply(TUI) releases the input lock only for a current-generation result.Db::compression()andread_compression. A database written by 0.9.0 opens unchanged.Not covered
TestBackendrenders.IMBH_DOCKER_DAEMON_E2E=1 cargo test -p imbh-server --test docker_plugin_daemon -- --ignored --nocapture.traces().get()lower bound, time-bounding the metricsdimensions/series/exemplarsAPIs, and#[non_exhaustive]onDbStats.Verification
cargo fmt --all --check,cargo build --workspace,cargo clippy --workspace --all-targets -- -D warningsandcargo test --workspacepass: 779 passed, 0 failed, 5 ignored.🤖 Generated with Claude Code