Commit Graph

1046 Commits

Author SHA1 Message Date
Clement Tsang 42ee4c79af feat: add packet size & packet rate (#1980)
* feat: add packet size & packet rate

* feat: add packet size & packet rate for network basic panel

* update wording

* some text shifting fixes

* fix most things

---------

Co-authored-by: WqyJh <781345688@qq.com>
2026-03-11 23:41:07 -04:00
Clement Tsang b6c92a701f other: fix clippy warnings on beta (#1995) 2026-03-08 03:21:11 +00:00
Clement Tsang 1973ce4ed8 ci: granular checks in CI (#1991)
* ci: granular checks in CI

* cleanup

* update comments

* fix some jobs failing for now

* change cfg

* add comment on why freebsd tests don't work
2026-02-28 06:51:56 -05:00
Clement Tsang 7682f9d6b3 refactor: run nightly format on code (#1951) 2026-01-05 03:59:14 -05:00
Clement Tsang b3445b3044 refactor: clean up some query code (#1949)
* tmp

* intermediate work

* delete some code

* hook things up

* use QueryOptions everywhere instead

* comments

* more cleanup

* even more cleanup

* fmt

* update comment

* some more tests while I'm at it

* add todo for additional tests

* more empty quotes

* more empty quote testing

* even more tests

* driveby test for arg tests
2026-01-05 03:51:43 -05:00
Frederick Zhang 14178fc8e3 bug: fix crash caused by multi-byte UTF8 chars in process names (#1943)
When a process name contains multi-byte characters, cmdline[start..end]
is unsafe since it operates on bytes and can cause panic when start/end
are not char boundaries.
2025-12-30 14:11:37 -05:00
Clement Tsang 151e4d6127 refactor: move around some files related to the time graphs (#1942)
* refactor: move around some files related to the time graphs

* fmt

* fmt again

* update changelog

* add docs for time_graph

* rename time_graph to time_chart to be consistent

* nvm, that just makes it more annoying

* fmt

* Update documentation comment for time_graph.rs

* add extra rustdoc lint as well while I'm here
2025-12-29 00:22:15 -05:00
Clement Tsang ccc7779fc8 deps: bump root deps as of 2025-12-28, remove backtrace (#1940)
* deps: bump root deps as of 2025-12-28, remove backtrace

* fmt
2025-12-28 19:00:57 -05:00
Clement Tsang 26b1801c45 refactor: use ratatui 0.30.0 (#1930)
* refactor: support ratatui 0.30.0-beta.1

* 0.30.0!

* some refactoring

* ugh I broke something

* hm I think that fixes it

* fmt
2025-12-28 18:43:32 -05:00
Clement Tsang 870d68ab3e bug: fix Windows memory leak caused by getting priority (#1933)
Looks like the issue was related to how we were getting priority in Windows, using the winprocinfo crate. This is resolved by just manually doing the windows API calls necessary.

---

* test if leak is caused by winprocinfo

* manually implement priority code

* cleanup

* update changelog
2025-12-27 11:43:43 -05:00
Clement Tsang 73b88870ec other: use Rust 2024 edition again (#1924)
* fix typo

* Reapply "refactor: migrate to Rust 2024 edition (#1678)"

This reverts commit 02384b4c56.
2025-12-25 12:05:06 -05:00
Clement Tsang b96aa55a90 other: temporarily revert 2024 changes + hardcode some ratatui things (#1921)
* Revert "refactor: migrate to Rust 2024 edition (#1678)"

This reverts commit b07eb646ce.

* other: temporarily revert 2024 changes

* additionally work around some issues
2025-12-25 11:10:32 -05:00
Clement Tsang b07eb646ce refactor: migrate to Rust 2024 edition (#1678)
* refactor: try bumping to rust 2024 edition

* clippy
2025-12-25 01:17:41 -05:00
Clement Tsang 2c623399ae uptick: 0.12.0 (#1915)
* uptick: 0.12.0

* update schema generation while we're at it

* wording

* update schema generation docs

* update docs
2025-12-24 22:52:50 -05:00
Clement Tsang d458d1958b other: fix some config code for nice/priority (#1911)
* other: fix some config code for nice/priority

* driveby change from cfg(target_family=unix) to just cfg(unix)

* remove nice as a default for now
2025-12-21 15:22:00 -05:00
Clement Tsang fe2a5c559b bug + refactor: clean up query code, fix bug around quotes (#1910)
* refactor query error to another file

* refactor and/or/prefix

* more refactoring and tests

* clippy

* more tests

* even more tests

Also add some comments with context about some tests.

* todo and comments

* fix a bug around quote parsing

* update changelog

* add comment

* add comment

* update changelog
2025-12-21 15:13:15 -05:00
Adarsh Das 102ae6b247 feat: Added priority and nice as columns in process view (#1881)
* basic priority and nice functionality

* fix fmt, clippy and tests

* trying to fix other platform build errors

* fmt fix

* trying more fixes

* clean project

* refactored nice to be for all unix systems

* few more places where I had to change cfg for Nice

* Fix scheme names issues

* fix for schema

* fmt

* fixed clippy errors

* 'nice' fix

* fmt

* fixed cfg in tests also

* trying to fix macos test errors

* fix nice value extraction for mac

* modularised nice and priority for mac and freebsd

* fmt

* more multi target to unix

* removing unnecesary guards

* added safety comments

- also reverted string array reference changes

utils fix

* weird utils clippy error fix

* removed unneeded commit

* not needed after main merge(?)
2025-12-21 14:31:43 -05:00
Clement Tsang 469947a61e other: update nightly schema (#1905) 2025-12-20 22:55:30 +00:00
Clement Tsang 94af05ee06 refactor: use rustc-hash and nohash (#1902)
* add nohash and rustc-hash

* use fxhash by default

* comment

* fmt

* clippy

* use nohash for pid stuff

* fix import

* fix imports again

* fix windows type for gpu pid
2025-12-19 03:42:46 -05:00
gitgoggles 6c81caffd2 feat: enter key can be used to close process search widget (#1890)
Added the ability to press Enter after typing a search term in the Proc widget, making it more Vim-like for those with muscle-memory for Vim's '/' search.
2025-11-30 19:04:56 -05:00
rezky_nightky f277dff2b2 fix: correct spelling across docs, comments, and configs (#1891) 2025-11-30 16:42:06 -05:00
Clement Tsang a8f65a8065 other: add very basic test for data collection (#1883) 2025-11-22 23:57:06 -05:00
Clement Tsang 86b35bcd79 refactor: use clippy::unwrap_used (#1882)
* refactor: use clippy::unwrap_used

* fix log format use

* fix a bunch of macos ones

* oop

* allow schema script

* driveby schema bump
2025-11-22 23:26:02 -05:00
Adarsh Das 45b2522929 feature: add readonly mode (#1861)
* init

* Fixed code smells

* Updated documentation as per feedback
2025-11-17 06:03:46 -05:00
Adarsh Das c813b220af feature: add spacebar shortcut to toggle process tree nodes (#1830)
* feature: added spacebar as a toggle for proc tree mode

* bug: added check if the app is currently in search widget state

* refactor: moved the if statements inside the match case

* docs: added documentation for Spaec as tree toggle

* revert: changes

* feat: added space key to toggle tree

* refactor: clippy errors

* docs: updated documentation for space as toggle

* feat: experimental change to Minus, collapse entire tree

* fix: clippy errors

* feat: finished - and + as full tree collapse/expand

* refactor: clippy errors

* Made the all collapse function more concise

* Changed i32 calls to Pid

* updated help text

* Fixed array

* reverted total collapse and expand of trees

* array fix
2025-11-16 17:34:35 -05:00
Clement Tsang 9df4e30d7b bug: fix network graph y-axis cache updating + starting height occasionally being 0 (#1867)
* bug: fix using the wrong timestamp to invalidate network axis scaling cache

* fix bug with starting with 0.0 leading to having a max height of 0.0

* comment

* driveby
2025-11-16 14:30:57 -05:00
Clement Tsang c97cb063d1 other: clean up help text spacing + help text dialog sizing (#1865)
* other: clean up help text spacing + help text dialog sizing

* use 'safer' saturating, I think it gets optimized out...?

* semicolon + typo
2025-11-15 18:56:10 +00:00
Guillaume Gomez f88d9d9404 other: Simplify cfg condition (#1862) 2025-11-15 11:05:57 -05:00
Clement Tsang 873ba20e68 deps: bump ratatui to 0.30.0-beta.0 (#1860)
* deps: bump ratatui to 0.30.0-beta.0

* use SpaceEvenly

* explicitly mention layout-cache

* fix changelog as driveby
2025-11-11 05:57:51 -05:00
Clement Tsang 0735276122 bug: ensure avg cpu is drawn on top in "All" mode (#1859)
* bug: ensure avg cpu is drawn on top

* changelog
2025-11-11 05:47:09 -05:00
Clement Tsang 3c42f6502a bug: fix issues introduced with average CPU usage refactor (#1846)
* fix potential logic bug with generate points logic, but this isn't the actual issue

* update changelog

* why was that there

* okay let's not bother

* Revert "okay let's not bother"

This reverts commit 1ce8f5619f.

* Revert "why was that there"

This reverts commit 6a2a4da04a.

* Revert "fix potential logic bug with generate points logic, but this isn't the actual issue"

This reverts commit 7f7de8055b.

* Revert "bug/refactor: draw average CPU last, refactor CPU data code (#1804)"

This reverts commit 43e1b34899.

* reverse as a lazy fix for avg
2025-11-04 12:58:46 -05:00
Clement Tsang 8d06d729db other: fix clippy errors for 1.91.0 (#1844) 2025-11-02 10:00:53 -05:00
Clement Tsang beaeb03e90 refactor: remove custom layout constraint implementation (#1836)
As noted in #1406, I don't need the custom `Constraint` setup anymore. This also starts the work to refactor some really bad code around layouts.
2025-10-13 08:53:43 +00:00
Justin Martin 118bb5e061 feature: free arc (#1812)
* feature: free arc

* freebsd clippy no-default-features

* add alias to free_arc

* add get_threads to default config

* clippy

* code review: combine zfs feature and target_os build cfgs
2025-10-12 15:08:55 -04:00
Clement Tsang 16449f2697 docs: use bottom.pages.dev (#1703)
* docs: use bottom.pages.dev

This _might_ stick, this might not. I may only do this after releasing
one more stable version. We'll see.

* fix schema
2025-10-12 07:26:22 +00:00
Frederick Zhang 256c5aba68 fix: sort disk I/O by original rates instead of readable strings (#1833) 2025-10-10 03:07:34 -04:00
Clement Tsang 3d22177de6 bug: check subtraction when calculating network widget y-axis (#1827)
This PR adds an explicit check for the case where the `Instant` is somehow too small and falls back to manually checking for the oldest visible timestamp.
2025-10-01 07:55:23 +00:00
Clement Tsang adc802b54c deps: bump ratatui to 0.30.0-alpha.5 (#1821)
* deps: bump ratatui to 0.30.0-alpha.5

* bump lockfile deps too
2025-09-25 01:29:31 -04:00
Piotr Kubaj 59b1db530d bug: fix build on FreeBSD on ARM / POWER (#1817)
Both ARM and POWER use unsigned char. This PR fixes `process_ext.rs` to use `libc::c_char` rather than the previous `i8`.
2025-09-17 11:37:39 -04:00
Clement Tsang e4b814fd0b refactor: optimize username cloning for Unix processes (#1816)
* refactor: rename/update comments for uid_to_username

* use arc<str> instead of cloning user repeatedly

* clippy

* oop

* oop2

* hmmm hopefully that works?

* ugh
2025-09-14 23:47:49 -04:00
Clement Tsang c8614bf2be deps: bump deps and lockfile (#1815)
* deps: bump deps and lockfile

* fix expected error message in test

* fix some windows errors and lint stuff
2025-09-14 19:33:58 +00:00
Justin Martin 392a659f33 bug: skip avg cpu in basic mode with dedicated row (#1811)
update sample config
2025-09-14 14:53:30 -04:00
Justin Martin b07f940970 feature: hide k-threads (#1772)
* hide k-threads init

comment

* add config for hide_k_threads

arg help

* update docs for hide_k_threads

* add test_toggle_k_thread for process_table

* update help text and schema

* add hide_k_threads to sample_configs default

* add Virt column to sample default config

* update sample demo config column name for schema ci

* force_rerender_and_update from toggle_k_threads for updates when frozen

* use is_kernel for ProcessType

* remove todo

* Apply suggestions from code review

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>

---------

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
2025-09-07 18:56:56 -04:00
Clement Tsang f1017d6f6f bug: fix issue with process name isolation on Linux (#1809)
* driveby fix for dash cmdline bin name

* fmt
2025-09-01 21:50:53 -04:00
Clement Tsang a35b81a187 docs: update docs page with missing features (#1805)
* add no key setting

* do it here instead of in main loop

* add a warning

* docs: update a bunch of docs with features

* linux-only test

* oop

* skip field check for other os

* oop

* easier way of doing it

* use dead code

* oop

* huh guess I don't need it
2025-08-29 23:12:19 -04:00
Clement Tsang d799c656aa feature: support ignoring all keypresses (#1719)
* refactor

* add no key setting

* do it here instead of in main loop
2025-08-29 21:30:50 -04:00
Clement Tsang 43e1b34899 bug/refactor: draw average CPU last, refactor CPU data code (#1804)
This PR makes it so we draw the average CPU on top again. This also refactors internals to have the average CPU stored separately.
2025-08-22 04:19:03 +00:00
Clement Tsang 47cc0b346a bug: fix colon at end of process name for now on Linux (#1800)
* driveby use rustix

* refactor some code aeround

* bug: fix colon at end of process name for now

* clippy

* comments

* changelog

* some other changes + test

* extra test
2025-08-21 07:21:44 -04:00
Clement Tsang 3ff7977e6f feature: add support for threads in linux (#1793)
* feature: add support for threads in linux

* bump version too

* only enable for linux for now

* thread some things around

* update changelog

* add highlighting support

* fmt and run schema

* how did this get added

* hmmm cfg in if seems to not work

* fix updated fields

* fixes

* revert uptime rename

* some cleanup

* fix doc

* oop
2025-08-17 07:07:50 +00:00
Clement Tsang f846fdcc05 bug: fix reported usage spike at the start on some OSes (#1788)
* bug: fix spike at the start on some OSes

* add clean

* bake things in better I guess

* hmmm no nvm

* tiny sleep

* update changelog
2025-08-14 22:04:48 -04:00