Skip to content

v26.6.1

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jun 21:18
v26.6.1

New features

  • Query patterns view — queries grouped by normalized_query_hash (with a qhash column and filter), colored by execution time, with a memory-usage heatmap column (sqrt-scaled, Grafana status-map style) (#250, #260)
  • Metric log and Asynchronous metric log views over system.metric_log / system.asynchronous_metric_log, with a chart drawn for the selected metric on submit (#252)
  • Error log view over system.error_log (#251)
  • Settings search in a view, bound to F3 (a966fbe)

Performance

  • Perfetto traces streamed to disk instead of buffered in memory, log entries stored in an anonymous temp file, per-block memory bounded, stack symbolization deduplicated, and a quadratic column lookup removed (#257, #258)
  • text_log / query_log fetched block-by-block; default logs limit raised to 1,000,000 and max_block_size no longer capped (#259, cdc3414)
  • LowCardinality re-enabled over the native protocol; Enum8/Enum16, UUID and LowCardinality(String)/String decoded in Rust instead of CAST to String in SQL; ProfileEvents/Settings read via mapKeys/mapValues (#261, #262, ad0b8b4)

Improvements

  • --database to read system tables from a custom database; summary tables and system.processes always read from the real system database (#254, e3d2114, b6407b1)
  • --accept-invalid-certificate / --skip-verify / --insecure / -k flag to skip TLS verification (6af59e5)
  • --start / --end respected in text_log drill-downs (errors, parts, merges) (4a100ac)
  • "Select all" action ('A') in the queries views (81cad2f)
  • Go back to the previous view on Backspace, forms submit on Enter, and a view.no_color option to disable row coloring (#250, c443468)
  • Integration tests against a real ClickHouse server and TUI tests on cursive's puppet backend (#253, #256, #255)
  • clickhouse-rs / rustls updated (#262, 131c6bf)

Bug fixes

  • Hostname shortener no longer collapses a single FQDN host to "local", and the no-common-prefix/suffix paths no longer leak garbage from the first host (2c4a5b4, #208)
  • Missing columns in the perfetto query_log SELECT, and silently broken columns in the perfetto log readers (#257, #253)
  • Parallel blocks marshalling disabled to work around a LowCardinality handling bug (e681ed1)
  • TUI perfetto traces served from an anonymous temp file, fixing the /tmp leak of chdig.*.pftrace files (64681f5)
  • analyzer no longer disabled, fixing the metric log view with --history (#252)
  • No warning on absent log tables during perfetto export (#258)
Commits

Commits

  • bd4e1bf: Add normalized_query_hash to queries views (qhash column + filter) (Azat Khuzhin) #250
  • 6fef69e: Add "Query patterns" view (queries grouped by normalized_query_hash) (Azat Khuzhin) #250
  • 72ac6b9: Go back to the previous view on Backspace (Azat Khuzhin) #250
  • 509e1d8: Color query patterns by execution time (Azat Khuzhin) #250
  • 95ed68c: Add view.no_color option to disable row coloring (Azat Khuzhin) #250
  • bb77310: Add Query Patterns (#250) (Azat Khuzhin) #250
  • 0e9bd0b: Add "Error log" view (system.error_log) (Azat Khuzhin) #251
  • c443468: Submit forms on Enter (Azat Khuzhin)
  • 81cad2f: Add "Select all" action ('A') to the queries views (Azat Khuzhin)
  • 59e9dc0: Add "Metric log" view (system.metric_log) (Azat Khuzhin) #252
  • 83fa378: Add "Asynchronous metric log" view (system.asynchronous_metric_log) (Azat Khuzhin) #252
  • 53b0a0c: Show a chart for the metric on submit in metric log views (Azat Khuzhin) #252
  • 0573888: Do not disable analyzer (fixes metric log view with --history) (Azat Khuzhin) #252
  • 0efd489: Add views with metrics (metric_log and asynchonous_metric_log) (#252) (Azat Khuzhin) #252
  • ad43e9b: Add integration tests against a real ClickHouse server (Azat Khuzhin) #253
  • caf8feb: Fix silently broken columns in perfetto log readers (Azat Khuzhin) #253
  • 9e2d8b2: Run integration test scenarios sequentially in a single test (Azat Khuzhin) #253
  • 8211977: Add integration tests for --history and --cluster (Azat Khuzhin) #253
  • fe8546d: Add integration test for --history with --cluster (Azat Khuzhin) #253
  • a58592a: Restore separate per-scenario tests for cargo test (Azat Khuzhin) #253
  • 7c4ee3e: Do not remove tmp dirs of concurrently running test suites (Azat Khuzhin) #253
  • 41556fe: Integration tests against a real ClickHouse server (#253) (Azat Khuzhin) #253
  • ac1432e: Add --database to read system tables from a custom database (Azat Khuzhin) #254
  • 01db242: Add --database to read system tables from a custom database (#254) (Azat Khuzhin) #254
  • 8b7776b: Fix ClickHouse install retry loop in CI (Azat Khuzhin) #255
  • b6407b1: Always read system.processes from the real system database (Azat Khuzhin)
  • e3d2114: Read all summary tables from the real system database (Azat Khuzhin)
  • 4a5459c: Add TUI tests on cursive's puppet backend (Azat Khuzhin) #256
  • 4a100ac: Respect --start/--end in text_log drill-downs (errors, parts, merges) (Azat Khuzhin)
  • 075fea4: cargo update (Azat Khuzhin)
  • 131c6bf: Update clickhouse-rs (and rustls to fix dependabot alerts) (Azat Khuzhin)
  • 6af59e5: Add --accept-invalid-certificate/--skip-verify/--insecure/-k CLI flag (Azat Khuzhin)
  • 1db9b76: Stream perfetto trace packets to disk instead of buffering in memory (Azat Khuzhin) #257
  • 2b83e3d: Store log entries in a temp file instead of memory (Azat Khuzhin) #257
  • 992d3ae: Document why --limit stays at 100K despite disk-backed logs (Azat Khuzhin) #257
  • 3c47de5: Write TUI perfetto traces to a temporary file (Azat Khuzhin) #257
  • dabbe24: Fix missing columns in the perfetto query_log SELECT (Azat Khuzhin) #257
  • a383efd: Fix quadratic column lookup in metric_log/query_metric_log fetch (Azat Khuzhin) #257
  • c58713a: Deduplicate stack symbolization in perfetto trace_log fetch (Azat Khuzhin) #257
  • 7d26b33: Persistent storage for logs and perfetto traces (#257) (Azat Khuzhin) #257
  • 453c2fb: Stream perfetto source fetches block-by-block (Azat Khuzhin) #258
  • 182de64: Bound per-block memory of perfetto streaming and fix per-block tracks (Azat Khuzhin) #258
  • 2aa4978: Stream query_log fetch for perfetto (Azat Khuzhin) #258
  • ae5400f: Do not warn on absent log tables in perfetto export (Azat Khuzhin) #258
  • 21c41f6: Optimize perfetto traces (from 40GiB -> ~400MiB, or even less) (#258) (Azat Khuzhin) #258
  • 64681f5: Serve TUI perfetto traces from an anonymous temp file to fix /tmp leak (Azat Khuzhin)
  • 7242035: Stream text_log fetch block-by-block (Azat Khuzhin) #259
  • 56d8acb: Increase default logs limit to 1 000 000 (Azat Khuzhin) #259
  • b04ed8e: Stream logs to reduce memory usage (#259) (Azat Khuzhin) #259
  • 8b81643: Stream perfetto source fetches via per-block callbacks (Azat Khuzhin)
  • 2c4a5b4: Fix hostname shortener collapsing a single host to "local" (Azat Khuzhin)
  • 1ec4121: Add memory usage heatmap column to query patterns view (Azat Khuzhin) #260
  • a966fbe: Implement settings search in a view (F3) (Azat Khuzhin)
  • cdc3414: Do not cap max_block_size for text_log queries (Azat Khuzhin)
  • e681ed1: Disable parallel blocks marshalling due to bug with handling LC (Azat Khuzhin)
  • ad0b8b4: Read ProfileEvents/Settings via mapKeys/mapValues instead of legacy alias (Azat Khuzhin)
  • f20b45f: Re-enable LowCardinality over native protocol (Azat Khuzhin) #261
  • 5fa0642: Drop ::String cast on LC(String)/String columns (Azat Khuzhin) #262
  • 1be0bca: Render Enum8/Enum16 in SQLQueryView instead of casting to String (Azat Khuzhin) #262
  • 467fbb5: Render UUID in SQLQueryView instead of casting to String (Azat Khuzhin) #262
  • 189621f: Resolve Enum names in Rust instead of casting to String in SQL (Azat Khuzhin) #262
  • d3b3f8b: Delegate SQLQueryView string-like columns to column_as_string (Azat Khuzhin) #262
  • aad57cf: Remove redundant CAST to String for LowCardinality/Enum/UUID (#262) (Azat Khuzhin) #262
  • b3dbcb0: cargo update (Azat Khuzhin)
  • 417e747: v26.6.1 (Azat Khuzhin)