Commit Graph

288 Commits

Author SHA1 Message Date
Clement Tsang 6ea3635b28
deps: migrate from tui to ratatui (#1086) 2023-04-16 00:04:16 -04:00
Clement Tsang fa1f4976e2
deps: update starship-battery to 0.8.0 (#1098) 2023-04-14 00:13:00 -04:00
Clement Tsang 69e6494491
deps: bump serde to 1.0.160 (#1095) 2023-04-13 01:40:16 -04:00
Clement Tsang e61e5f2af6
deps: Switch to using hashbrown for general hashmap usage (#1092)
* deps: replace fxhash with hashbrown + ahash

* replace std hashmap with hashbrown + ahash

* fmt

* some more fmt
2023-04-12 00:03:27 -04:00
Clement Tsang 62474be52a
deps: bump once_cell and related dependencies (#1090)
* deps: bump once_cell and related dependencies

Now that we've removed heim, I can bump up other dependencies that
relied on newer versions of once_cell.

* Add some dhat code

* dhat gitignore
2023-04-11 03:22:32 -04:00
Clement Tsang 9edde9b133
refactor: migrate disk collection code off of heim, remove heim (#1064)
Migrates existing heim-based disk data collection code off of it to either sysinfo or vendored code based on heim/sysinfo/other sources. This also allows us to remove heim completely from bottom.

---

* refactor: fix some refresh code

* remove async from the freebsd code

* some file/implementation organization

Turns out sysinfo lacks a lot of data I need. I can still use it for the
Windows disk usage implementation, but I'm probably going to manually
implement macos/linux usage and all io usage stats.

* more restructuring

* Some other fixes

* remove futures

* ready for some big changes?

* big changes

* linux io + reads

* use lossy conversion for mount point

* add windows refresh

* so long heim, and thanks for all the fish

* fix filter behaviour, remove string allocation when reading lines

* rename unix -> system for more accurate file struct representation

* fix freebsd

* port generic unix partition code

* add bindings and fix errors

* finish macOS bindings for I/O

* disable conform check, this seems to... make disk I/O work on macOS?????

* fix linux

* add safety comments

* more comments

* update changelog

* changelog

* We're going full 0.9.0 for this

* update lock

* fix some typing

* bleh

* some file management

* hoist out get_disk_usage

* fix some stuff for Windows

* typing and remove dead code allow lint

* unify typing

* fix

* fix 2

* macOS fix

* Add bindings file for windows

* add windows implementation

* fix macos
2023-04-10 05:52:46 -04:00
Clement Tsang 37cb59e16f
deps: update some minor dependency versions (#1087)
* deps: update some minor dependency versions

Bump some dependency versions as of April 7, 2023. Note I skipped any
updates tied to futures as that's getting removed along with heim in the
near future (heh).

* fix rename on Windows from K32GetPerformanceInfo -> GetPerformanceInfo
2023-04-07 03:48:35 -04:00
Clement Tsang bde2dac56e
deps: bump various dependencies as of 2023-03-27 (#1079) 2023-03-28 01:14:10 -04:00
Clement Tsang 444d2f7ad7
deps: bump sysinfo to 0.28 (#1078)
* deps: update sysinfo to 0.28.0

* 0.28.1

* 0.28.2

* 0.28.3

* 0.28.4
2023-03-27 00:50:21 -04:00
Clement Tsang 9fc62b9fd6
deps: forgot to bump crossterm back to 0.26.1 (#1069) 2023-03-15 20:47:10 -04:00
Clement Tsang 8fe3f1f23c
deps: revert crossterm 0.26.1 to fix double input bug on Windows (#1066) 2023-03-14 17:52:52 -04:00
Clement Tsang 82c0c3b0e5
refactor: use internal committed memory calculation for Windows (#1051)
* refactor: use internal committed memory calculation for Windows

* comments
2023-03-08 00:08:02 -05:00
Clement Tsang b745684156
refactor: more data collection cleanup (#1047)
* refactor: more memory collection cleanup

* more cleanup

* clean up data_harvester, remove heim sensor flag

Separate out most individual components to separate functions. Also
remove Linux's usage of heim's sensors feature, since I wasn't using it
apparently.

* clean up GPU section

* fix cond

* fix feature flags

* more cleanup

* even more cleanup
2023-03-07 00:18:24 -05:00
Justin Martin 3510563638
re-enable zfs feature (#1044) 2023-03-04 20:10:24 -05:00
Clement Tsang 994c11e3b3
refactor: migrate network collection to sysinfo (#1041)
* refactor: migrate network collection to sysinfo

* remove net feature from heim

* comments and changelog
2023-03-04 01:34:52 -05:00
Clement Tsang 8cc763cc1b
refactor: migrate memory collection to sysinfo for all platforms (#1036)
* cleanup

* refactor: remove heim memory code

* add missing updates, remove heim memory feature

* restrict export visibility

* some refactoring, remove smol

* gpu feature
2023-03-03 00:06:19 -05:00
Clement Tsang c2d94900f3
deps: bump procfs to 0.15.1 (#1038) 2023-03-02 17:40:56 -05:00
Clement Tsang f26d598410
refactor: migrate CPU from heim to sysinfo for all platforms (#1035)
* refactor: migrate CPU from heim to sysinfo for all platforms

* fix windows and macos imports

* simplify a bit of code

* cleanup
2023-03-02 00:03:54 -05:00
Clement Tsang e8ae1a265a
other: switch to toml_edit (#1034) 2023-03-01 00:14:47 -05:00
Clement Tsang f02bd21948
deps: bump crossterm to 0.26.1 (#1033) 2023-02-28 00:10:08 -05:00
Clement Tsang 44e52d6229
deps: bump nvml to 0.9.0 (#1032) 2023-02-27 19:37:35 -05:00
Clement Tsang 6fa72290a9
deps: bump patch dependency versions as of 2023-02-26 (#1031) 2023-02-27 01:44:15 -05:00
Clement Tsang 6d15f01009
other: support hw.temperature-based temps on FreeBSD (#1024)
* other: support hw.temperature-based temps for FreeBSD

* update changelog

* enable sysctl always for freebsd
2023-02-19 18:44:35 -05:00
Clement Tsang e7b682a550
other: add no-opt and flamegraph build profiles for convenience (#1014) 2023-02-08 00:41:03 -05:00
ClementTsang 9fd8ce3151
other: compile dependencies in dev with optimizations 2023-02-07 04:24:14 -05:00
spital 021a727f19
other: replace deprecated `value_of` and `is_present` in clap
* Upgrade clap to 3.2.2 to allow future fix warnings

* cargo fmt fix

* Replaced deprecated `value_of` and `is_present`, builds with no warnings, clap 3.2.2

* cargo fmt

* updated according to comments. builds fine, cargo test fine

* Match some versions

* Update Cargo.lock

* Fix typo, mb

---------

Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
2023-01-31 19:34:52 -05:00
Clement Tsang f416c54d2f
other: bump to 0.8.1 for nightly (#1002) 2023-01-24 20:54:26 -05:00
Clement Tsang cdee5b6fc3
other: run cargo sort on Cargo.toml (#1001) 2023-01-24 20:27:48 -05:00
ClementTsang 490e94c347
other: bump to 0.8.0 2023-01-20 18:55:31 -05:00
Clement Tsang 4870ff365a
refactor: change name of some stuff, add some comments (#992)
* some quick refactoring first

* add todo for bug report template
2023-01-20 00:08:02 -05:00
Clement Tsang 04c1366af5
other: bump edition to 2021 (#987) 2023-01-18 02:26:30 -05:00
Clement Tsang ebaf10936a
other: fix missing memory feature for heim on linux (#986) 2023-01-18 01:52:55 -05:00
Clement Tsang 639c93b4c8
other: switch to windows-rs for process killing (#985) 2023-01-18 01:43:08 -05:00
Clement Tsang 316891d476
deps: update more dependencies as of 2022-01-14 (#982) 2023-01-14 22:36:30 -05:00
Clement Tsang 8490ff93ea
deps: update regex to 1.7.1 (#981) 2023-01-14 21:19:10 -05:00
Clement Tsang 80ef86e12a
deps: updates unicode deps to support unicode 15 (#980) 2023-01-14 21:05:58 -05:00
Clement Tsang f712aaffa1
deps: updates some minor deps as of 2023-01-14 (#979)
Updates:
- log
- serde
- itertools
2023-01-14 19:13:31 -05:00
Clement Tsang 9292dbd376
deps: update indexmap to 1.9.2 (#978) 2023-01-14 19:03:49 -05:00
Clement Tsang 719c35ae3b
deps: update procfs to 0.14.2 (#977) 2023-01-14 18:37:29 -05:00
ClementTsang f415fb08bc
other: bump up version in Cargo.toml to 0.7.2 2023-01-12 05:20:22 -05:00
Clement Tsang a56e7f6cc9
feature: split usage into usage percentage and value (#950)
Denotes both usage and usage percentage. This also redoes the calculation for percentage to be based on the sum of avail + used, rather than on total, as otherwise we get potentially confusing percentages.
2023-01-01 05:08:04 -05:00
Clement Tsang 46884d48f0
uptick: 0.7.0 (#940) 2022-12-31 17:50:20 -05:00
Clement Tsang efcf2bde29
other: use custom time chart grid implementation (#937)
Pulls in the tui-rs grid logic so I can implement custom braille painting logic. We basically "flatten" the layering logic into a single layer by replacing resetting cells if the colour is different. This avoids the multiple allocations if we used multiple layers as intended with tui-rs.

This gives us chart results similar to the current stable version, but with a flamegraph similar to the current master branch.
2022-12-30 03:06:48 -05:00
Clement Tsang 9c3e60e74f
other: slightly reduce the CPU time spent for draws (#918)
* other: group all dataset draws in a time chart

We used to draw each data set separately as a new canvas. Now, in one
canvas, we draw all datasets.

Note that this changes how dataset  lines are drawn - rather than
drawing one on top of another, it now draws kinda all at once. This
effect is *kinda* a bit better IMO, but it might also look a bit
more cluttered.

* other: optimize truncate_text

Flamegraphs showed that this area seems to be a bit heavy at times with
some inefficient use of iterators and collection. This change should
hopefully optimize this a bit by reducing some collections or
reallocations.

There can also be some further optimizations with less allocations from
callers.

* Reduce some redundant draws
2022-11-29 03:53:58 -05:00
Clement Tsang db07246f67
other: don't use manual map for color name mapping (#908)
* other: don't use manual map for color name mapping

I actually don't know why I was doing it like that before.

This commit removes the phf crate, as it's not needed anymore.

* update test
2022-11-21 03:34:33 -05:00
ClementTsang dd4b19866d
other: update Debian extended description 2022-11-20 03:22:22 -05:00
Clement Tsang 63df220a38
other: clean up some strings (#904)
* other: clean up some strings

* formatting
2022-11-20 02:21:20 -05:00
Clement Tsang 6a0bf10760
other: some cleanup in proc widget (#903) 2022-11-20 01:13:24 -05:00
Clement Tsang a07fa305fb
bug: redirect stderr on FreeBSD to avoid drawing on UI (#897) 2022-11-17 03:18:05 -05:00
Clement Tsang b2c301b1fe
deps: update sysctl to 0.5.2, procfs to 0.14.1 (#894) 2022-11-13 17:43:55 -05:00