Releases: azat/chdig
Releases · azat/chdig
Development Build
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)
v0.6.1
Continuous Integration
- add build configuration without any features (just a sanity check) #23 (Azat Khuzhin)
- switch openssl.org (not available right now) to www.openssl.org #23 (Azat Khuzhin)
Commits
v0.6.0
Highlights
Commits
- 91365d0: Add binary for macos into pre releases artifacts (Azat Khuzhin)
- ee1d519: Remove copy-paste from CI workflows (Azat Khuzhin)
- dcbca2a: Compress macos binary in artifacts (Azat Khuzhin)
- 4f6bc86: No need to clone submodules (there is no one) (Azat Khuzhin)
- 98e54b0: Stick to pip3 for macos (some workers has python2 for just "pip") (Azat Khuzhin)
- d94f0a3: Merge branch 'ci/macos-build' (Azat Khuzhin)
- 4746ee6: Add a link to macos x86_64 build into README (Azat Khuzhin)
- 321436a: Add CI for pull requests (Azat Khuzhin) #15
- 36a8331: Read secure option from config (Azat Khuzhin)
- 646ed1b: Move steps from build into dependencies (Azat Khuzhin)
- ca19d9f: Avoid copy-paste for PYO3_CONFIG_FILE (Azat Khuzhin)
- 8705c14: Update .PHONY targets (Azat Khuzhin)
- 641aa0a: Fix make without arguments (Azat Khuzhin)
- bc388e8: Merge branch 'build-tiny-fixes' (Azat Khuzhin)
- 8f2141b: Add TLS support for clickhouse-rs (Azat Khuzhin) #17
- b5c8950: Allow cross compile for pkg-config (for openssl for musl) (Azat Khuzhin) #17
- 1efa7b8: Add a hack for openssl with musl (Azat Khuzhin) #17
- bb78f10: Configure pkg-config for archlinux to search for openssl 1 (Azat Khuzhin) #17
- c323cf3: Build openssl 1.0 on CI for linux (openssl 3.0 is not compatible yet) (Azat Khuzhin) #17
- b7d1bf3: Add windows build to CI (Azat Khuzhin) #19
- copy config instead of using symlinks (to support windows) #19 (Azat Khuzhin)
- 7eba428: Use CURDIR over PWD in Makefile to support windows (Azat Khuzhin) #19
- 96dafce: Do not restrict PyOxidizer version for MacOS (no static binaries for MacOs) (Azat Khuzhin) #19
- 4d14cad: Split into features (Azat Khuzhin) #19
- acd5cb9: Clear screen properly after executing third-party programs (Azat Khuzhin)
- 139dfda: Do not exit from chdig on Backspace (only on Q) when there are no views to pop (Azat Khuzhin)
- 2518fe0: Add number mutations into summary (Azat Khuzhin)
- b01b7a3: Add a link to windows binary into README (Azat Khuzhin)
- bf11eb6: v0.6.0 (Azat Khuzhin)
v0.5.0
Commits
- 923cc6b: Use the just compiled binary for generation bash completion (Azat Khuzhin)
- 8c265c9: Render flamegraphs from the Cursive context (Azat Khuzhin)
- 93aebff: Replace tfg with flameshow (Azat Khuzhin)
- 5b86ef9: Distribute flameshow with PyOxidizer (pyinstaller does not work) (Azat Khuzhin)
- 3052212: Add a workaround for incorrect handling of symbols with numbers in flameshow (Azat Khuzhin)
- 06e8c2d: Explicitly set permissions for files in packages (Azat Khuzhin)
- b0e16ef: Merge branch 'flameshow' -- replace tfg with flameshow (Azat Khuzhin)
- replace PyInstaller with PyOxidizer (Azat Khuzhin)
- 835218f: Update flameshow and remove quirk for a bug in older version (Azat Khuzhin)
- 8a85560: Add ability to edit and execute query (Azat Khuzhin)
- 260d570: Add ability to open EXPLAIN PIPELINE in web browser (Azat Khuzhin)
- c7dd134: Give kudos to used third party services via README (Azat Khuzhin)
- 8045bcd: Get the minimum uptime of the clickhouse-server and server (Azat Khuzhin)
- 70af7e4: Use uptime() instead of relying on asynchronous metrics (Azat Khuzhin)
- 9919a26: cargo update (Azat Khuzhin)
- 51e9ea0: clickhouse-rs supports LowCardinality (Azat Khuzhin)
- ac41a0f: Revert "clickhouse-rs supports LowCardinality" - does not support Map (Azat Khuzhin)
- 307d1f9: Fix updating summary view after view changes (Azat Khuzhin)
- 9c7618c: Add a note about Home button (I forgot about it by myself, so let's put a note) (Azat Khuzhin)
- a5b81b9: Decode in F1 dialog (Azat Khuzhin)
- 8bceed5: Add PAUSED icon (Azat Khuzhin)
- 38a0918: Remove superfluous use (Azat Khuzhin)
- 247377a: Improve disk/network summary statistics (Azat Khuzhin)
- 5ac5d71: Proper metric deltas (by taking into account update interval) (Azat Khuzhin)
- 5544e28: Static binary for flameshow (fixes #7) (Azat Khuzhin)
- 246af4b: Decrease number of samples for server flamegraphs (Azat Khuzhin)
- ccfa72d: Embedded flameshow (fixes #6) (Azat Khuzhin)
- 3ccacb6: Bump ubuntu version in attempt to overcome linking problems (Azat Khuzhin)
- fcb6fae: Merge branch 'embed-flameshow' - fixes #6 (Azat Khuzhin)
- c2d0504: Remove non existing make target (Azat Khuzhin)
- 0bf05ba: Add missing dependencies in the makefile to fix parallel run (-j) (Azat Khuzhin)
- 0d80c8c: Add a link for second aur package into README (Azat Khuzhin)
- b1e21c5: Update aur (archlinux user repo) packages section (Azat Khuzhin)
- 60e63a6: Log config for pyo3 (Azat Khuzhin)
- 399ea73: Fix typo in README (Azat Khuzhin)
- d685371: Do not limit queries only SELECTs for last/slow view (Azat Khuzhin)
- 4963207: Also search through query_id/query (Azat Khuzhin)
- de2893e: cargo update (Azat Khuzhin)
- 046d612: Bump version to v0.5.0 (Azat Khuzhin)
v0.4.0
New features
- Per-screen scroll (previously PgDown works as scroll 5 entries down,
which was annoying and very inconvenient) - Autocompletion for bash
- Add ability to pause updates - useful to concentrate on concrete thing
- Add ability to proactively refresh view
- Add EXPLAIN SYNTAX action (and print all changed SETTINGS in the EXPLAIN
SYNTAX, useful to copy query with all the settings and paste into the
client) - Add multi selection (and various actions, like looking logs and
flamegraphs supports showing them for multiple queries) - Fully static binaries (requires switching from ncurses to termios)
- package for aur archlinux registry
Improvements
- Add thread_id into logs (useful to understand how many threads involved)
- Support clickhouse-client configs in YAML
- Show full error trace on Enter in system.errors
- Better color scheme for summary bar, and so now that if you see
something red, this is likely requires some attention - Add replicated fetches/queue into summary bar
- Add system.dictionaries support
- Improve how focus works (before chdig always tries to select the first
query by defualt, which was not that convenient, since sometimes you
want to look at the top CPU usage, so now if you do not select anything
chdig will show queries sorted, but switch to following query once you
select something, and you can get back using Home key)
Fixes
- Fix chdig with non default user/password in config.xml/env vars
- Do not omit queries without initial query with grouping
Commits
- 6f5e042: Use timestamp_nanos_opt() over deprecated timestamp_nanos() (Azat Khuzhin)
- 8ca6f41: Add autocompletion support (Azat Khuzhin)
- 0d713ed: Add ability to start from different views via subcommands (Azat Khuzhin)
- 89381aa: Add per-page scroll for logs (PageDown/PageUp) (Azat Khuzhin)
- 7d29066: Throw an error in case of multiple connections had been matched from config.xml (Azat Khuzhin)
- b85958a: Fix chdig with non default user/password in config.xml/env vars (Azat Khuzhin)
- 2ebe30c: Do not omit queries without initial query with grouping (Azat Khuzhin)
- be94f63: Reorder LogEntry fields (Azat Khuzhin)
- d3fed8b: Add thread_id into logs (useful to understand how many threads involved) (Azat Khuzhin)
- b89ecd2: Add ability to pause updates - useful to concentrate on concrete thing (Azat Khuzhin)
- f3c4058: Add ability to proactively refresh view (Azat Khuzhin)
- ea8695e: Simplify parsing XML configs using DeserializeOwned (Azat Khuzhin)
- 9b6d15d: Support clickhouse-client configs in YAML (Azat Khuzhin)
- dc2e1ff: Support empty clickhouse.connections_credentials in config.xml (Azat Khuzhin)
- Document --connection option (Azat Khuzhin)
- 672e5c9: Fix updating the view after filter had been applied (Azat Khuzhin)
- a323bcd: Add EXPLAIN SYNTAX action (Azat Khuzhin)
- 162abe9: Print all changed SETTINGS in the EXPLAIN SYNTAX (Azat Khuzhin)
- 0689b8c: cargo update (to fix dependabot alerts) (Azat Khuzhin)
- 6bf09f1: Add log messages for toggle pause/refresh (Azat Khuzhin)
- 6cdbd21: Fix refreshing after view change (Azat Khuzhin)
- 998a926: Horizontal scroll of the whole page in logs (Azat Khuzhin)
- efe1333: Fix typo (Azat Khuzhin)
- 3c4fe2e: Add multi selection (Azat Khuzhin)
- 21f18e3: Support actions for multiple queries (Azat Khuzhin)
- bbb6a1d: Logs/views/flamegraphs/processors for multiple queries (Azat Khuzhin)
- 8fb853b: Introduce ProcessesView::get_selected_query() (to reduce boilerplate code) (Azat Khuzhin)
- 2277982: Remove magic const in rendering system.text_log (it is flush_interval_milliseconds) (Azat Khuzhin)
- b95f4b4: Implement on_submit for QueryResultView (Azat Khuzhin)
- a200eea: Add ability to specify additional settings for QueryResultView (Azat Khuzhin)
- b95d3d8: Make query_result_view::Row fully public (Azat Khuzhin)
- c8c7848: Do not show private columns (starts with "_") in QueryResultView (Azat Khuzhin)
- c4e9ac4: Allow arbitrary number of whitespaces in QueryResultView column expressions (Azat Khuzhin)
- f6165ce: Show full error trace on submit action (Azat Khuzhin)
- d1c069a: Merge branch 'query-result-view-on-submit' -- show error trace in system.errors (Azat Khuzhin)
- 523ca8a: Add support for Float32 type (Azat Khuzhin)
- 6031254: Simplify comparsion of items for QueryResultView (Azat Khuzhin)
- 0b53c1a: Add system.dictionaries support (Azat Khuzhin)
- 194f422: Use termion buffered backend to avoid dependency from cursive (Azat Khuzhin)
- 82c425d: Build static binary with musl libc for releases (Azat Khuzhin)
- 012d50d: Merge branch 'static' -- fully static binaries without any dependencies (Azat Khuzhin)
- 05ff074: Fix printing backtrace on panic (Azat Khuzhin)
- ecdadbe: Remove outdated todo (Azat Khuzhin)
- fd58c78: Fix preserving selected item for QueryResultView (all except queries list) (Azat Khuzhin)
- f06dd24: Change the way focus works in tables - allow to stick to the top (Azat Khuzhin)
- 0ebe627: Improve makefile (Azat Khuzhin)
- 4b3f60c: Add a link to aur package for archlinux (Azat Khuzhin)
- 4b2c5fa: Change colors for summary from Red to Cyan (red is reserved for critical things) (Azat Khuzhin)
- 34f3dd2: Extend summary view (fetches and replication queue info) (Azat Khuzhin)
- f23fad2: Fix typo in README (Azat Khuzhin)
- c89b6a8: Fix preserving focus (Azat Khuzhin)
- 3a64918: Run cargo update to fix dependencies after version bump (Azat Khuzhin)
- 0efdfa0: v0.4.0 release (Azat Khuzhin)
v0.3.0
Brief:
Filter queries, search in query logs, utilization columns, performance
New features:
- Filter queries (by client_hostname/os_user/user/initial_user/client_name) (/)
- Search in query logs (/)
- View traces in speedscope (more enhanced UI)
- Support connections_credentials from clickhouse-client config.xml
- Separate column for uncompressed reads - IO
- Add CPU utilizations columns
- Handle CLICKHOUSE_USER/CLICKHOUSE_PASSWORD env variables
- Add support for EXPLAIN PLAN indexes=1
Performance improvements:
- Speedup queries for extracting logs/processors_profile_log/...
significantly (by adding proper filters for event_date/event_time) - Speedup queries for obtaining queries (slow and last) ~10x
- Fix performance of chdig in a slow networks by enabling compression ~10x
Fixes:
- Handle query errors gracefully
- Fix EXPLAIN for non qualified table names (i.e. when database was missing)
- Fix triggering actions from fuzzy search (C-p)
Commits
- c7967f8: Use gif in README (Azat Khuzhin)
- 7192dbe: Handle CLICKHOUSE_USER/CLICKHOUSE_PASSWORD env variables (Azat Khuzhin)
- e1ac3d1: Handle clickhouse client config.xml (Azat Khuzhin)
- 1bb23e4: Fix EXPLAIN for non qualified table names (i.e. when database was missing) (Azat Khuzhin)
- be175dc: Add support for EXPLAIN PLAN indexes=1 (Azat Khuzhin)
- 69e4b2a: Extract date/time from query for the query logs (Azat Khuzhin)
- aac8df4: Add missing sorting for logs (Azat Khuzhin)
- 92bafdc: Optimize logs obtaining (add a filter for event_time as well) (Azat Khuzhin)
- ce949f6: Get date for events for flamegraph from the query start time (Azat Khuzhin)
- aff7f5b: Supports opening flamegraphs via speedscope (Azat Khuzhin)
- d2ee36d: Fix running without connections_credentials in ~/.clickhouse-client/config.xml (Azat Khuzhin)
- 2ee43f0: Add ability to override host/user/... from the connection_credentials by --url (Azat Khuzhin)
- 54d5706: Better error message when connection to ClickHouse cannot be established (Azat Khuzhin)
- 4787125: Show the final disk/net/CPU utilization for slow/last queries (Azat Khuzhin)
- 72f4401: Add IO wait column (Azat Khuzhin)
- c8be747: Add CPU wait column (Azat Khuzhin)
- 13b2aa9: Add /vendor into .gitignore (Azat Khuzhin)
- a198cf6: Use my new azat-rust "namespace" (organization on github) (Azat Khuzhin)
- dc099ac: Fix time format in logger view (Azat Khuzhin)
- 4d40473: Fix log absense due to too small time frame (Azat Khuzhin)
- 379c282: Implement search in text logs (Azat Khuzhin)
- f072e19: Scroll to the searched term in the logs view (Azat Khuzhin)
- 3689cfe: Fix required_size() for LogView (take into account hostname length) (Azat Khuzhin)
- e6b545c: Search next occurrence with "n" shortcut in logs (Azat Khuzhin)
- f564cf4: Adjust some TODOs in the code (Azat Khuzhin)
- c2b2c99: Reset search phrase on empty search (Azat Khuzhin)
- 5f8c55a: Fix navigation in the logs after search (Azat Khuzhin)
- 25c4935: Merge branch 'logs-search' (Azat Khuzhin)
- b840119: Show really last queries (instead of last slowest) (Azat Khuzhin)
- 1e58c44: Detect storage_system_stack_trace_pipe_read_timeout_ms (compatibily for <23.5) (Azat Khuzhin)
- 462de98: Add a note about why forks of crates are in use (Azat Khuzhin)
- 32767b9: Use clickhouse-rs driver with query settings and remove ClickHouseCompatibility (Azat Khuzhin)
- bf2ce57: Add links to PRs (Azat Khuzhin)
- 8e44a73: Avoid crash in logs view on trying to search next result (Azat Khuzhin)
- 8ae90bb: Add reverse search in logs (Azat Khuzhin)
- ac53dc0: Cleanup LogView (move search next/prev into the LogViewBase) (Azat Khuzhin)
- d58ff79: Implement reverse search from the beginning (shortcut - ?) (Azat Khuzhin)
- f9e6b23: Fix off by one error in reverse search (Azat Khuzhin)
- c729d9d: Merge branch 'logs-reverse-search' (Azat Khuzhin)
- 0be340f: Add TODO for wrap mode in logs (Azat Khuzhin)
- 37518e9: Better error handling and less boilerplate. (Azat Khuzhin)
- d393ad1: Fix typo (Azat Khuzhin)
- b89b276: Use query start time for system.processors_profile_log/query_views_log (Azat Khuzhin)
- 5ab4a76: Add workaround for unsupported LowCardinality by the driver (Azat Khuzhin)
- fc1208e: Forbid LowCardinality in protocol via low_cardinality_allow_in_native_format=0 (Azat Khuzhin)
- dd8473d: Catch some query errors (by reworking error handling of queue messages) (Azat Khuzhin)
- a50008d: Better error handling of failed UI message passing (Azat Khuzhin)
- 449be23: Ignore non info logs from skim (too noisy) (Azat Khuzhin)
- a95963b: Fix triggering actions from fuzzy search (Azat Khuzhin)
- fec3cac: Remove some todos (Azat Khuzhin)
- f6e9798: Handle query highlight errors gracefully (Azat Khuzhin)
- baea692: Simplify add_view_action()/add_global_action() (Azat Khuzhin)
- 80ec082: Add ability to open live flamegraph in speedscope (Azat Khuzhin)
- abfddb1: Hide logs of hyper (too noisy) (Azat Khuzhin)
- 6721aa0: Add server flamegraph in speedscope (Azat Khuzhin)
- 2b69b41: Use upstream clickhouse-rs (all changes had been merged) (Azat Khuzhin)
- b562ed5: Speedup query for extracting slow queries (makes query 10x faster) (Azat Khuzhin)
- 7d15cfd: Optimize query to obtain slow queries 10x+ times (Azat Khuzhin)
- 42546fd: Fix performance of chdig in a slow networks by enabling compression (Azat Khuzhin)
- 30364e9: Update comment for adjusting query_timeout setting (Azat Khuzhin)
- 6524973: Add ability to return EventResult from the view actions (Azat Khuzhin)
- 073754f: Add ability to trigger update of the view explicitly (Azat Khuzhin)
- d0be155: Implement simple processes/queries filtering (by users and client info) (Azat Khuzhin)
- cd34460: Merge branch 'query-filtering' - simple process/queries filtering (user/client) (Azat Khuzhin)
- 27eff1e: Remove unnecessary cloning of view names (Azat Khuzhin)
- 7e046cb: Add separate column for IO (uncompressed bytes) (Azat Khuzhin)
- d82ac94: Add a note about why ReadBufferFromFileDescriptorReadBytes is used for disk_io (Azat Khuzhin)
- 9db314f: v0.3.0 release (Azat Khuzhin)
- 33416ba: Bump version to v0.3.0 (Azat Khuzhin)
- 98964c5: Update demo gif for v0.3.0 release (Azat Khuzhin)
- 2af3350: Run cargo update to fix clap (Azat Khuzhin)
v0.2.0
Lots of views: - Query view (`system.processes`) - Slow query log (`system.query_log`) - Last queries (`system.query_log`) - Processors (`system.processors_profile_log`) - Views (`system.query_views_log`) - Merges view (`system.merges`) - Mutations view (`system.mutations`) - Replicas (`system.replicas`) - Replication queue view (`system.replication_queue`) - Fetches (`system.replicated_fetches`) - Backups (`system.backups`) - Errors (`system.errors`) UI rework, I don't even remember what was in the v0.01 version (BTW the tag was wrong), at first I used menubar, but it does not allow to use shortcuts correctly, so I've switched to select from the left (like in csysdig) + header with all possible global shortcuts. Plus now shortcuts are generated automatically from one place, instead of being duplicated 3 times before.