Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: azat/chdig

Development Build

29 Oct 16:24

Choose a tag to compare

Development Build Pre-release
Pre-release

Commits

  • a462631: Fix applying --host (should have priority over connections credentails) (Azat Khuzhin)

v25.8.1

10 Aug 16:23
v25.8.1

Choose a tag to compare

What's Changed

  • Use system database (default may not exist) by @azat in #141
  • Fix frame orders on flamegraphs (trace_log.symbols was not reversed) and support versions w/o trace_log.symbols by @azat in #142
  • Use separate channel for each event by @azat in #143

Full Changelog: v25.7.1...v25.8.1

v25.7.1

27 Jul 14:33
v25.7.1

Choose a tag to compare

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

06 Jul 10:48
v25.6.2

Choose a tag to compare

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

  • 8ab309c: Do not query 'index_granularity_bytes_in_memory' on old versions (Denis K) #123

Build

  • 630b47f: Bump dependencies (will remove patched tuikit dependency) (Azat Khuzhin) #121

New contributors

v25.6.1

26 Jun 14:57
v25.6.1

Choose a tag to compare

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

27 Apr 15:48
v25.4.1

Choose a tag to compare

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

02 Apr 21:01
v25.3.1

Choose a tag to compare

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/Selected rows 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

01 May 08:39
v24.4.1

Choose a tag to compare

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

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

01 Apr 22:00
v24.3.1

Choose a tag to compare

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

23 Jan 07:59
v24.1.1

Choose a tag to compare

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

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)