Commit Graph
865 Commits
Author SHA1 Message Date
Clement Tsang c242b4aff3 refactor: move around some configuration code again (#1371) 2024-01-01 17:39:10 -05:00
Clement Tsang 228da99489 refactor: move around configuration-related files (#1370)
* rename general utils file

* refactor: move around some configuration files

* more shuffling around

* fix some ugly formatting
2024-01-01 17:20:40 -05:00
Clement Tsang e71048e394 other: update lints (#1369)
I have `missing_docs` disabled for now as that'll take a long time to
get through... maybe in a separate PR.
2024-01-01 05:34:53 -05:00
Clement Tsang ecb6faa089 refactor: restructure canvas file folder structure (#1368)
* refactor: group together some canvas files

* rename file

* more shuffling around

* fmt

* more shuffling

Going to flatten widgets in another PR.

* some docs

* naming

* fmt
2024-01-01 05:19:52 -05:00
Clement Tsang 74792f0ddf other: quick lint fixes for some warnings (#1367) 2023-12-30 23:28:44 -05:00
Clement Tsang 22b40780ad refactor: pull data collection out of nested folder structure (#1364)
* refactor: pull data collection out of nested folder structure

* fix sysinfo

* comment
2023-12-27 23:00:58 -05:00
Justin MartinandClement Tsang 28d2950d92 deps: update ratatui version (#1362)
* cargo update ratatui

* replace convert_arc_labels with convert_mem_labels

* remove redundant generic

---------

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
2023-12-25 17:28:54 -05:00
Clement Tsang c10779ecc0 refactor: fix macro formatting in disk data collection code (#1363) 2023-12-25 17:26:32 -05:00
Clement Tsang a1168cac67 refactor: remove once_cell (#1361)
* refactor: remove once_cell

* some missing fixes
2023-12-23 04:35:42 -05:00
Clement Tsang 854f3aed95 refactor: some more cleanups around linux temp code (#1360) 2023-12-20 19:18:50 -05:00
Clement Tsang a67da93c5f other: if in a non-D0 state, short-circuit further logic (#1355)
* other: if in a non-D0 state, short-circuit further logic

* cleanup

* add back an empty name and value

* fix for macos/windows

* some testing things
2023-12-20 01:36:08 -05:00
Clement Tsang b6f92c2f3d feature: support default selection of average CPU graph (#1353)
* feature: support default selection of average CPU graph

* test
2023-12-10 15:21:35 -05:00
Clement Tsang fab86e833a other: add back local time in debug logs (#1346)
* other: add back local time in debug logs

This still has a UTC fallback.

* cleanup and some warnings
2023-12-02 04:53:31 -05:00
Clement Tsang 074b205a82 other: change group -> group_processes for consistency between config and command-line args (#1344)
* other: change group -> group_processes to match config file name

* update docs

* update changelog
2023-12-01 02:46:22 -05:00
Clement Tsang 46b7881fb0 other: preallocate space for ellipsis (#1336) 2023-11-27 04:55:21 -05:00
Clement Tsang 590f03bd69 other: update generated config file (#1335) 2023-11-27 03:39:39 -05:00
Clement Tsang eab8736dfd refactor: iteratively detect ASCII and build string when truncating (#1334)
* refactor: iteratively detect ASCII and build string when truncating

* more tests

* test going by usize

* Revert "test going by usize"

This reverts commit 4fe71260e7.
2023-11-27 03:30:43 -05:00
Clement Tsang 94e4573ebc refactor: add fast branch if the string is short enough to not be truncated (#1333)
* refactor: add fast branch if the entire string is definitely not truncated

* update comments
2023-11-24 03:13:06 -05:00
Clement Tsang a93521d2b1 refactor: add fast branch for ascii-only string truncate (#1330)
This is just a first attempt to speed up what looked like a hot spot in samply's profiling results.

Benchmark code and results here: https://gist.github.com/ClementTsang/e242f12f7e1d1902ed414dcc18c3b321
2023-11-23 23:45:03 -05:00
Clement Tsang ab9331140a refactor: simplify temperature conversion function usage (#1326)
* refactor: simplify temperature conversion function usage

Just make it a function on the temperature type enum.

* fix sysinfo variant

* simple test
2023-11-20 03:08:24 -05:00
Clement Tsang 10a37c263a change: small gpu proc changes (#1325)
* other: use consistent casing with Mem/Mem% in processes for GPU cols

* other: remove mem check for GPU enable check
2023-11-20 02:30:57 -05:00
Justin Martin e4a6e751ec feature: Add gpu proc info (#1276)
* Add gpu util, power and procs.

Consolidated gpu calls into `data_harvester`.

Changed config flag from `enable_gpu_memory` to `enable_gpu`.

Added GPU utilization to the cpu widget.

Added GPU process memory usage and utilization percentage to the proc widget.
Added key binds for gpu process toggling.

Added GPU power usage to the battery widget.
Added bounds check to battery widget header.
Show battery widget header when `gpu_enable`.

Added feature flag `legacy-functions` to `nvml-wrapper`.

updated config file(s).
updated help text.
updated docs.

* Code Review:

Remove GPU util from cpu widget
Remove GPU power from battery widget
Use reference for gpu widgets_to_harvest
Extract match arm to function for feature gate

* Code Review: add gmem% toggle

* Do not poll gpu temp when filtered

* Code Review Two Changes:

adjust doc wordings
remove extra references
remove extra widget harvest checks
init proc gpu values
use convert_temp_unit for gpu temp
2023-11-19 23:54:15 -05:00
Clement Tsang 5a17212f89 other: add additional clamping functions on numeric types (#1324)
* other: add additional clamping functions on numeric types

* add tests and replace one usage
2023-11-19 03:15:19 -05:00
Clement Tsang 4d2df4c4e9 refactor: clean up some query code and some ascii-only string comparisons (#1316)
* refactor: update some stuff in the query code

* do some eq_ignore_ascii work

* tests

* some docs, and rename files
2023-11-15 06:23:04 -05:00
Clement Tsang 8b9328e29e refactor: comment on convoluted Filesystem::from_str code (#1315)
* refactor: use a less convoluted match for filesystem type conversion

* revert, just use comment

* just use if statements instead

* test

* inline
2023-11-15 04:13:19 -05:00
Yuri AstrakhanandClement Tsang 5eb4fbde5d chore: fix certain uninlined string format uses (#1310)
* Fixed uninlined args

First ran this, and fixed a few more similar issues by hand

```
cargo clippy --workspace --fix --benches --tests --bins -- -A clippy::all -W clippy::uninlined_format_args
```

Note that in a few cases, format args were passed by ref - which is actually a tiny perf hit - compiler would not be able to optimize them.

* revert change here

since it contains a non-inlineable variable I'm not a fan of using it partially here

* revert

given the other formats above/below I would prefer keeping it like this

---------

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
2023-11-15 03:47:22 -05:00
Devin-Yeung d1d1498900 bug: fat32 mounts don't show up in macOS (#1314) 2023-11-14 23:57:24 -05:00
Yuri Astrakhan 712a003681 Chore: Remove un-needed lifetimes in a few calls (#1309) 2023-10-23 23:53:08 -04:00
Yuri Astrakhan 1e16456d5f chore: Minor cleanup - remove un-needed ident qualifiers (#1307)
Keep code a bit tidier and consistent (i.e. if an identifier already has a `use` entry above, why in some cases still prove a full path to it?)
2023-10-22 22:29:03 -04:00
Clement Tsang 1ef0c05aa6 deps: bump dependencies as of 2023-08-26 (#1287) 2023-08-26 21:16:43 -04:00
Clement Tsang e8f6d4853a other: appease clippy after Rust 1.72.0 (#1281)
* deps: use clap 4.4.0 to remove is-terminal

* fmt

* appease clippy

* fmt again

* Revert "deps: use clap 4.4.0 to remove is-terminal"

This reverts commit 78aa6ec848.
2023-08-24 20:26:46 -04:00
Clement Tsang ac55add21e deps: bump windows to 0.51.1 (#1279)
* deps: bump windows to 0.51.1

* some changes to fit new API
2023-08-22 17:27:36 -04:00
Zeb Piasecki a336c64330 bug: display arc max size in arc usage instead of system memory (#1264) 2023-07-27 03:56:25 -04:00
Clement Tsang 646c9f191b deps: Update ratatui 0.22.0 (#1261)
* deps: bump ratatui to 0.22.0

* fix missing new fields
2023-07-21 00:19:25 -04:00
Gabriele Belluardo 83a8607e5b other: full width battery bar (#1251) 2023-07-19 20:05:13 -04:00
Clement Tsang b0cb308106 refactor: flatten IoCounter return value (#1253)
* refactor: rewrite io stats collection function result

* refactor: flatten IoCounters vector results
2023-07-11 01:18:58 -04:00
Justin Martin b1a39026fb add zfs io counters for linux and freebsd (#1248)
* add zfs io counters for linux and freebsd

* ci

* freebsd clippy

* code review: remove dead code for zfs feature gate of freebsd iocounters and squash if statement in zfs_io_counters
2023-07-09 17:50:22 -04:00
Clement Tsang a10b91239b bug: missing windows syscall to close the handle on drop when killing (#1245)
* bug: missing windows syscall to close the handle on drop when killing

* changelog

* fix
2023-07-05 01:40:12 -04:00
Clement Tsang f21ffde068 other: removes the percent sign from battery widget labels (#1244) 2023-07-04 01:44:17 -04:00
Clement Tsang beef65a460 other: remove the percentage sign for CPU usage in CPU widget (#1243) 2023-07-04 01:35:39 -04:00
Clement Tsang df3088e80e other: hide battery tab selector if there is only one battery (#1236)
* other: hide battery tab selector if there is only one battery

* update changelog
2023-07-02 00:38:40 -04:00
Clement Tsang 3f53818c54 other: remove some unnecessary vec allocations (#1234)
* other: remove unnecessary vector allocations in farmer

* other: remove unnecessary vector allocations when drawing tui Rows
2023-07-01 03:28:23 -04:00
Clement Tsang 9c368815dd deps: bump deps as of 2023-06-29 (#1233)
* deps: bump deps as of 2023-06-29, clean up Cargo.toml a bit

* fix deprecated function call
2023-06-29 00:48:49 -04:00
Clement Tsang aa191a981d bug: fix core dump if the terminal is closed while bottom is open (#1230)
* bug: fix core dump if the terminal is closed

The cause was:

- bottom thinks it's panicking if the terminal is closed.
- The panic hook tried to print out to the terminal - but the terminal
  was closed! It would unwrap and thus panic even harder.
- To solve this, we just make the panic hook calls not unwrap, since
  honestly if they fail it's whatever as far as I understand it.

* update changelog
2023-06-27 01:57:32 -04:00
Clement Tsang 4ac3b43260 docs: update time-related documentation (#1222)
* docs: update time-related documentation

* fix retention too
2023-06-24 01:36:36 -04:00
Clement Tsang cc3833289f feature: support human times for rate (#1221) 2023-06-23 03:42:16 -04:00
Clement Tsang 0b7f4c745d other: fix humantime-related documentation, add tests, support numbers + strings in toml (#1220)
* update documentation and support either numerical times or human times for time_delta and default_time_value

* update docs

* give more human times on error
2023-06-22 00:01:01 -04:00
Clement Tsang 6f1a8f7e5b bug: fix overflow/underflow with graph timespan zoom (#1219)
* bug: fix overflow/underflow with graph timespan zoom

Basically, you could overflow/underflow the time span which would skip
checks.

* changelog
2023-06-21 00:03:48 -04:00
Clement Tsang 9e97680131 other: revert color help text change (#1217)
Didn't mean to push this, reverting it.
2023-06-19 02:40:48 -04:00
Clement Tsang 751abecfe3 other: take ownership of config and matches when building App (#1215)
The clap matches/config struct was taken in as a reference when building
the App structure. However, we do not need to keep these around after
this, so we can instead take ownership of the match/config and drop it
after to save a bit of memory.
2023-06-19 01:47:57 -04:00