Releases: azat/chdig
Releases · azat/chdig
Development Build
Commits
- a462631: Fix applying --host (should have priority over connections credentails) (Azat Khuzhin)
v25.8.1
v25.7.1
What's Changed
- Support password with special chars and CLICKHOUSE_HOST env support by @dorki in #131
- Update toolchain to 2025-07-07 and edition to 2024 by @azat in #132
- Add support for events traces by @azat in #133
- Use system.trace_log.symbols if it is not empty by @azat in #134
- Make --start/--end relative by @azat in #135
New Contributors
Full Changelog: v25.6.2...v25.7.1
v25.6.2
TL;DR
- Better and faster UI
- Some leftovers for crossplatform support
- Automatic deploy to AUR (archlinux user repository)
- Bug fixes and improvements
Better UI
- f14d6d9: Update cursive for better rendering performance, drop buffered backend (Azat Khuzhin) #126
- f91339b: Switch to crossterm backend (works better) (Azat Khuzhin) #127
- 23c692c: Fix some issues with some leftovers on terminal (#128) (Azat Khuzhin) #128
Continuous Integration
- Do not publush to AUR from forks (Azat Khuzhin)
- 0263870: Update chdig-bin in AUR from CI (Azat Khuzhin)
Bug fixes
- 5e5cbc2: Show 'source' instead of 'origin' for dictionaries (Denis K) #118
- 0ffd9a2: Fix panic when EXPLAIN PIPELINE graph=1 fails (Azat Khuzhin) #125
- 6c4af94: Improve error handling for EXPLAIN PIPELINE graph=1 (#125) (Azat Khuzhin) #125
- 32cf83c: Fix queries table inner size calculation (Azat Khuzhin)
- 03568ec: Fix error message while opening URLs (Azat Khuzhin)
- e633075: Fix flamegraphs for queries (Azat Khuzhin) #122
Improvements
- bf2d4c4: Print rows details on Enter (Azat Khuzhin) #119
- a4d4461: Add alternatives for win32/macos for xdg-open (Azat Khuzhin) #124
- 00eda0a: Do not try to open empty explain graphs (Azat Khuzhin) #125
Compatibility
Build
New contributors
v25.6.1
Commits
- aa943f0: Add ability to disable any flag (Azat Khuzhin) #104
- b6d86f5: Add memory related to async INSERTs (Azat Khuzhin) #107
- b014023: Add memory related to index_granularity (Azat Khuzhin) #107
- 8cd4ddb: Add uncategorized memory (Azat Khuzhin) #107
- 29121d3: Add colors for detailed memory info (Azat Khuzhin) #107
- 690a960: Add memory fragmentation metrics (Azat Khuzhin) #107
- ba80ff5: Better memory introspection (#107) (Azat Khuzhin) #107
- e5d3cfd: Update tuikit to include skim-rs/tuikit#51 (Azat Khuzhin) #110
- e47d503: Use nextest if available (for make test) (Azat Khuzhin) #111
- 99fb9fd: Take into account in-memory caches from system.metrics (Azat Khuzhin) #112
- 469690f: Fix query for in-memory caches (Azat Khuzhin) #113
- 71b5530: Update some documentation (Azat Khuzhin)
- b281cef: Use jemalloc.resident over jemalloc.mapped (last is more of a VIRT) (Azat Khuzhin)
- 34fbe85: Fix possible panic due to overflow on substraction (Azat Khuzhin)
- 40246d1: Add library mode (Azat Khuzhin) #114
- ea9df86: Proper chdig library for using from C (Azat Khuzhin) #115
- 7642135: Add ability to pass argc/argv for C wrapper explicitly (Azat Khuzhin) #116
- 602a749: Support TotalIndexGranularityBytesInMemoryAllocated from system.asynchronous_metrics (Azat Khuzhin) #117
- 754f2c2: v25.6.1 (Azat Khuzhin)
v25.4.1
Infrastructure
- 4edd435: Store binaries uncompressed in artifacts (more convenient) (#82) (Azat Khuzhin) #82
- 1795a14: Brew formula is official now (Azat Khuzhin) #83
Bugfixes
- 03d7203: Initialize ClickHouse connection before terminal backends (Azat Khuzhin) #86
- 649bcd1: Properly handle terminated connection by the server (fixes panic) (Azat Khuzhin) #86
- b9fbda6: Fix panic in case of Exception received from server due to bad authentication (#86) (Azat Khuzhin) #86
- f35af0c: Exclude FilesystemCacheBytes from CacheBytes (since it is for memory) (Azat Khuzhin) #93
- 9612060: Fix CPU metrics for ClickHouse inside cgroups (Azat Khuzhin) #93
- c50289f: Properly clear terminal before/after flamegraphs (Azat Khuzhin) #93
New features
- cc2982f: Add support for authentication via mTLS (authentication with TLS certificates) (Azat Khuzhin) [#89](#89, #91)
- 8430372: Allow to pass config via --config or CLICKHOUSE_CONFIG env (Azat Khuzhin) #92
- fdca99c: Add system.s3queue support (Azat Khuzhin) #93
CI
- 1145921: Add typos to GitHub CI (Kian-Meng Ang) #90
- 7398b7b: Now we have tests in CI! (Azat Khuzhin) #91
Usability
- ea1a601: Parse accept_invalid_certificate (Azat Khuzhin) #93
- a885b22: More flamegraphs (Azat Khuzhin) #93
- 0c168cc: Add ability to render historical system tables (Azat Khuzhin) #93
- 2bb9812: Pause updates on any errors (Azat Khuzhin) #93
- 80e7ed5: Add a hint for skip_unavailable_shards=1 (Azat Khuzhin) #93
- cf1dd27: Colorize threads numbers (Azat Khuzhin) #93
- 3c00bf3: Add --user/--host/--password/--secure for compatibility with clickhouse-client (Azat Khuzhin) #98
- a00da6c: Do not affect manual actions with PAUSE (#99) (Azat Khuzhin) #99
- b282e2f: Add ability to hide internal chdig queries (and do this by default) (#102) (Azat Khuzhin) #102
v25.3.1
Releases:
- Cross compilation for aarch64 with artifacts (#80)
Improvements:
- Replace flameshow+pyoxidizer with flamelens (written in Rust) (#78)
- Add ability to toggler wrap mode online (-S, like in less)
- Add shortcuts for logs
Bug fixes:
- Fix slow/last queries view (disable analyzer as a workaround for now)
- Fix compatibility with ClickHouse without
allow_experimental_analyzer=1 - Add
Inserted/Selectedrows into summary - Fix obtaining logs for finished queries (mostly in case of exception)
- Fix units in processors profiling table (bytes_per_sec -> MB_per_sec)
- Fix time frame calculation for processors profiling
- Fix processors profiling (wrong end query time calculation)
Full Changelog: v24.4.1...v25.3.1
v24.4.1 - optimize memory usage + tar.gz/standalone/apple silicon artifacts
Highlights
- logs: decrease memory footprint by 30%
- Add tar.gz/standalone binary/zip packages - #53
- Add show query action (shortcut - 'S') (#61)
- Add artifacts for Apple Silicon (amd64) - #63
commits
Continuous Integration
- use explicit mapping for latest artifacts #53 (Azat Khuzhin)
Commits
- decrease memory footprint by 30% (Azat Khuzhin)
- f64964d: Add force quit (useful to leave previous screen as-is for i.e. copying logs) (Azat Khuzhin)
- 366bc3b: Remove vertical scroll for non-wrap case (Azat Khuzhin)
- 3ece6dc: Do not incrementally update server logs (too costly) (Azat Khuzhin)
- remove copy-paste for handling CLICKHOUSE_PASSWORD #46 (filimonov)
- add section about URL format #47 (filimonov)
- 4694fc0: Get back note about Esc is bad choice for binding (Azat Khuzhin)
- 41a8b40: Update FAQ.md (#49) (filimonov) #49
- fix typo in markdown format #54 (Azat Khuzhin)
- 88ee8c7: Get back Esc binding (Azat Khuzhin) #54
- 1a7dc6b: Close left menu on back/quit action (Azat Khuzhin) #55
- 87c7ee1: Add tar.gz package (Azat Khuzhin) #53
- 43e77be: Add chdig as a single binary into releases (Azat Khuzhin) #53
- 1f7a8d4: Switch archive format for windows to *.zip (Azat Khuzhin) #53
- a294582: Add arch for the tar.xz package (Azat Khuzhin) #53
- 821c715: Remove chdig standalone binary from the mapping (Azat Khuzhin) #53
- ceb06cd: Obtain arch with $(uname -m) over using rustc --print target-spec-json (Azat Khuzhin) #53
- b55be0f: Deploy chdig standalone binary properly (Azat Khuzhin) #53
- adaaa6a: Fix link to the tar.gz package in README (Azat Khuzhin) #53
- aed3564: Add tar.gz/standalone binary/zip packages - #53 (Azat Khuzhin) #53
- 47518be: Support cluster as a macro (Azat Khuzhin)
- 95b9f6d: Use usize::MAX over legacy usize::max_value() (Azat Khuzhin)
- 08807af: cargo update (to fix h2 vulnerability) (Azat Khuzhin) #60
- 24b3e1e: Add show query action (shortcut - 'S') (Azat Khuzhin) #61
- a019cd5: Reuse is_system_processes variable (Azat Khuzhin) #61
- 3aa6084: Fix detecting SETTINGS in query (for show/edit query actions) (Azat Khuzhin) #61
- 3fa6b89: Add show query action (shortcut - 'S') (#61) (Azat Khuzhin) #61
- 86e6ef3: Fix calculating network speed (everything except vlan, not vise-versa) (Azat Khuzhin)
- 52d0fc1: cargo update (to fix dependabot) (Azat Khuzhin)
- 54a3f38: Gather read/write IO from vd* blockdevs (Azat Khuzhin)
- fef2100: Add artifacts for Apple Silicon (amd64) (Azat Khuzhin) #63
- 2266eb8: cargo update (in contrib as well) (Azat Khuzhin)
- 25d3c8b: Fix artifacts for Apple Silicon in releases (Azat Khuzhin)
- 5f43fe6: v24.4.1 (Azat Khuzhin)
v24.3.1
Highlights
- Global time intervals (for logs, trace logs) - #42 (by @Dolso), #44
- Instructions for brew package
- Significantly improve logs view - previously it renders everything in
one line (ignoring new lines), now it respect new lines and also has a
wrap mode to wrap long lines into terminal width (optional, use --wrap
for this) - Add g/G bindings for log view
Performance Highlights
- Make queries to obtain information for finished queries faster
- Speedup query to obtain summary information (do not query
system.parts) - Significantly improve performance of logs view - yes, it is not
less(1), but is way more better, at least now it is possible to render
1'000'000 rows, thought it requires too much memory - 1GiB, so be
aware
Commits
- 44a1616: "Seek N mins backward/forward" has been changed to "Set time interval" (Andrei) #42
- bcd833a: Fix rustfmt (Azat Khuzhin)
- df9669a: Fix obtaining all subqueries for logs/flamegraphs/... (Azat Khuzhin)
- e8ee5de: Make clippy happy (fix direct implementation of
ToString) (Azat Khuzhin) - da438c3: Fix attempt to subtract with overflow on PgDown (Azat Khuzhin)
- bb113a1: Add instruction for manual installation via homebrew tap into README (Azat Khuzhin)
- 4fd08cb: Reduce overhead for system.errors (remove extra column) (Azat Khuzhin)
- d3ccc06: Fix clippy on CI (Azat Khuzhin)
- 729ba51: Improve obtaining extra query information (logs, flamegraphs, ...) (Azat Khuzhin)
- 33afd37: Do not pull query logs if it had been finished already (Azat Khuzhin)
- 710ef9f: Rename InternalOptions to ServiceOptions (Azat Khuzhin)
- 114b25c: Move begin/end time frame into CLI options (Azat Khuzhin) #44
- b90c30b: Use global date/datetime ranges whenever applicable (Azat Khuzhin) #44
- 793305a: Use local datetime everywhere (Azat Khuzhin) #44
- 72923de: Rename begin to start (Azat Khuzhin) #44
- 05220aa: Improve error messages for date intervals (Azat Khuzhin) #44
- d3ba61f: cargo update (Azat Khuzhin)
- 60f2fe5: Global time intervals (#44) (Azat Khuzhin) #44
- 5dc3c78: Use Duration::try_X() (since Duration::X() is deprecated) (Azat Khuzhin)
- c390831: Apply rustfmt (Azat Khuzhin)
- 232fdf5: Fix unused ClickHouseServerUptime.os field (Azat Khuzhin)
- a32596c: Remove unused context from worker (Azat Khuzhin)
- 4959086: Add type column for system.replication_queue (Azat Khuzhin)
- c28cc3c: Speedup query for summary view (remove system.parts querying) (Azat Khuzhin)
- 73bf907: Update flamehsow to 1.1.2 (Azat Khuzhin)
- 7198303: Remove todo for logs (it had been done awhile ago) (Azat Khuzhin)
- d646157: Fix logs polling (was polled only for finished queries, while should be opposite) (Azat Khuzhin)
- d1a1f66: cargo update (Azat Khuzhin)
- 9c15a0a: Replace stopwatch with a builtin implementation to avoid extra dependencies (Azat Khuzhin)
- f909be7: Simplify calculating required size for logs view (Azat Khuzhin)
- 28900dd: Improve logs view (line wrap and make it more CPU effective) (Azat Khuzhin)
- 808e232: Update cursive (Azat Khuzhin) #45
- 3381583: Use scroll::on_event from cursive to scroll logs (Azat Khuzhin) #45
- 55fb47c: Update cursive (#45) (Azat Khuzhin) #45
- 2f78d17: Fix error message for invalid DateTime parsing of --begin/--end options (Azat Khuzhin)
- cc3ace7: Disable LTO for release builds (Azat Khuzhin)
- b93875b: Add server logs view (Azat Khuzhin)
- 6342e47: More CPU effective logs view (Azat Khuzhin)
- ec2c4c8: Note about server logs in README (Azat Khuzhin)
- 97d3fa8: Fix navigation with j/k in logs (Azat Khuzhin)
- 14c660d: Print stacktrace on panic for release build too (Azat Khuzhin)
- 7c997f9: Fix panic in case of resizing the window with active logs search (Azat Khuzhin)
- baae1ba: Add g/G bindings for logs view (like less(1) has) (Azat Khuzhin)
- eae3d37: Rename backward search to reverse search (like in readline) (Azat Khuzhin)
- f39d533: Add some comments for reverse search in logs (Azat Khuzhin)
- b7eda3a: Wrap forward search to the beginning (like reverse-search) (Azat Khuzhin)
- 8c3ee2d: More verbose message on rows update for logs view (Azat Khuzhin)
- 2aa19b6: Make logs wrap optional (but this will still handle new lines) (Azat Khuzhin)
- 917c412: Fix query logs starting offset (Azat Khuzhin)
- f4d0752: Use full screen width for logs (Azat Khuzhin)
- 51f4973: Fix layout of the logs view for query logs (Azat Khuzhin)
- f9dedb5: Accept datetime without timezone for --start/--end (Azat Khuzhin)
- f945541: Fix horizontal scrolling in logs (Azat Khuzhin)
- 35d3426: Fix logs content size (reserve space for scrollbars) (Azat Khuzhin)
- c00bcbb: Do not require full width for logs view (Azat Khuzhin)
- 1ed8ff3: v24.3.1 release (Azat Khuzhin)
v24.1.1
v24.1.1: rustls, clippy, time navigation, backward compatibility, scoop package
Highlights
- rustls - remove extra dependency (libssl/libcrypto)
- Time navigation in last/slow queries (C-T/C-t for 10 min seek)
- Advanced time navigation, that prompts for number of minutes (M-T/M-t,
by @Dolso) - Massive ClickHouse backward compatibility - remove WINDOW functions,
PSQL CAST operator (::), and other workarounds and now it works on
21.2+ at least - scoop package (@Slach)
- Support skip_verify option (by @chhetripradeep)
Bug Fixes
- Fix filters for last/slow query logs (by @Dolso)
Internal
- fix clippy warnings and add it into CI (along with other linters)
- fix "flexi_logger has to work with UTC rather than with local time,
caused by IndeterminateOffset" warning - Finally CalVer over SemVer (SemVer is almost useless for chdig)
Continuous Integration
- set CARGO_TERM_COLOR=always #25 (Azat Khuzhin)
- fix "More than one copy of package chdig has been unpacked in this run" #28 (Azat Khuzhin)
- cleanup --no-default-features build #30 (Azat Khuzhin)
- add linters (cargo check + cargo clippy) on CI as well #29 (Azat Khuzhin)
Commits
- 1b061f9: Switch to rustls (Azat Khuzhin) #26
- 3ce79ac: Do not panic on empty flamegraphs (Azat Khuzhin)
- e77c701: Enumerate dependencies features explicitly (and disable default features) (Azat Khuzhin) #27
- 0943c84: Configure clippy (Azat Khuzhin) #29
- 809cc69: pre-commit autoupdate (Azat Khuzhin) #29
- 9af9d2c: Add clippy into pre-commit hooks (Azat Khuzhin) #29
- 65f8653: Fix all clippy warnings (Azat Khuzhin) #29
- 67687dc: Learn Rust with clippy (#29) (Azat Khuzhin) #29
- 5a8cdb9: Enable elided_lifetimes_in_paths by default (Azat Khuzhin)
- c055f0a: Add ability to navigate forward/backward through system.query_log (like in atop) (Azat Khuzhin)
- b4e7904: Support navigating through query_log for slow queries too (Azat Khuzhin)
- d2d0919: Add ability to configure amount of queries to render (Azat Khuzhin)
- 4dcb8f6: Navigate through system.query_log in time and limit queries for rendering (Azat Khuzhin)
- c47c9d2: Fix chrono::Utc for windows (add missing features) (Azat Khuzhin) #31
- 70b57d9: Support skip_verify in client config to skip strict TLS verification (Pradeep Chhetri) #32
- 3594f9c: Include secure/skip_verify into FAQ (Azat Khuzhin) #32
- 9d53000: Support skip_verify in client config to skip strict TLS verification (#32) (Azat Khuzhin) #32
- 3de2834: Update TODOs (or/and maybe this should be moved into github issues?) (Azat Khuzhin)
- 92a1328: Fix panic for <23.3 (division by zero, due to lack of AsynchronousMetricsUpdateInterval) (Azat Khuzhin)
- 20d1da7: Add workaround for <21.4 (lack of current_database in system.processlist) (Azat Khuzhin) #34
- 69d0a1a: Do not use PSQL CAST operator (::) for backward compatibility (Azat Khuzhin) #34
- cb6097c: Use {Settings,ProfileEvents}.{Names,Values} and mapFromArrays() in Rust (Azat Khuzhin) #34
- a257267: Avoid using WINDOW functions for backward compatibilty with older ClickHouse (Azat Khuzhin) #34
- 104a382: Merge branch 'compatibility' - now 21.2+ is supported (#34) (Azat Khuzhin) #34
- 01a86c7: Add a note about oldest tested version (21.2) (Azat Khuzhin)
- 30ecc38: fix filter for query "last query log" (Andrei) #35
- 43bd4a0: Fix filter for the slow query log (Azat Khuzhin) #36
- 808d679: Use filter only for obtaining query ids for slow query log (Azat Khuzhin) #36
- fef4b37: Fix query filters for slow/last queries (#35, #36) (Azat Khuzhin) #36
- 7221086: Add instruction for installing via scoop (Azat Khuzhin)
- b165126: Fix "flexi_logger has to work with UTC rather than with local time, caused by IndeterminateOffset" (Azat Khuzhin) #39
- 0e5df7b: Add "Seek N mins backward" and "Seek N mins forward" (by M-T/M-t) (Andrei) #40
- 6594bae: Load root certificates for rustls (fixes letsencrypt that are used for *.cloud) (Azat Khuzhin) #41
- 1f803d8: Set rustls logging to info by default (to reduce noise in logs) (Azat Khuzhin) #41
- 487337f: Update crates (to fix some GitHub Dependabot alerts) (Azat Khuzhin)
- bf1eedc: v24.1.1 (Azat Khuzhin)