Commit graph

386 commits

Author SHA1 Message Date
Clement Tsang
2e2b32ce71
deps: bump dependencies as of 2023-08-18 (#1277)
* deps: update root dependencies

* run cargo update

* revert windows for now

I wll handle it in separate dep bump since it requires more changes
2023-08-20 16:02:27 -04:00
Clement Tsang
ea6f87f54b
deps: pin serde to <=1.0.171 (#1278) 2023-08-19 16:06:53 -04:00
Clement Tsang
54c7fe5ea3
deps: pin sysinfo to 0.29.8 (#1273) 2023-08-16 05:45:47 -04:00
Clement Tsang
619e9d9c1b
deps: bump deps as of 2023-08-08 (#1272) 2023-08-09 01:27:56 -04:00
Clement Tsang
43e3ab00ea
deps: pin sysinfo to 0.29.7 (#1268) 2023-07-29 02:24:35 -04:00
Clement Tsang
dbf054506f
deps: bump dependencies as of 2023-07-24 (#1265) 2023-07-24 04:02:59 -04:00
Clement Tsang
0e8feca616
deps: pin sysinfo to 0.29.6 (#1263) 2023-07-23 03:21:24 -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
Clement Tsang
d2b945957f
deps: bump some dependencies as of 2023-07-19 (#1260) 2023-07-20 02:25:02 -04:00
Clement Tsang
c1556d263e
deps: lock sysinfo to 0.29.5 (#1255) 2023-07-17 01:31:11 -04:00
Clement Tsang
53c51c7c83
deps: clean and update dpes in Cargo.toml (#1254) 2023-07-12 03:44:09 -04:00
Clement Tsang
ccc7091529
deps: bump regex, serde, thiserror (#1250) 2023-07-09 05:20:12 -04:00
Clement Tsang
275daa1f63
deps: lock sysinfo to 0.29.4 (#1247) 2023-07-07 00:25:27 -04:00
Clement Tsang
567ba3760b
deps: bump deps as of 2023-07-06 (#1246) 2023-07-06 07:33:30 -04:00
Clement Tsang
7240661aab
deps: bump dependencies as of 2023-07-03 (#1240)
* deps: bump deps as of 2023-07-02

* run cargo update
2023-07-03 00:47:02 -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
fc027ece68
deps: bump deps as of 2023-06-27 (#1232)
Bumps:
- clap
- indexmap
- itertools
- libc
- serde_json
- toml_edit
2023-06-28 10:45:56 -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
8d078f8d71
deps: bump clap, rustix, serde_json (#1210) 2023-06-17 01:48:59 -04:00
Clement Tsang
6c7635038d
ci: add RPM package generation (#1206)
* ci: add RPM package generation

* edit container

* fix install
2023-06-15 00:26:54 -04:00
Clement Tsang
531e26ea45
other: post-0.9.2 cleanup (#1203)
* other: some cleanup

* other: add conditional logging macros

* more cleanup

* use compile-time feature for some text in clap
2023-06-12 01:01:07 -04:00
Clement Tsang
cfdfd2bd3f
bump dependencies and Cargo.lock as of 2023-06-10 (#1200)
Did `cargo update`. Only root dep change is bumping `clap`.
2023-06-12 00:13:29 -04:00
Clement Tsang
e4eaeb1c17
deps: bump battery to 0.8.1 to fix M1 health bug (#1195)
* deps: bump battery to 0.8.1 to fix M1 health bug

* update changelog
2023-06-09 00:47:42 -04:00
Clement Tsang
88bf64ab16
deps: bump hashbrown, once_cell, regex, serde, time, libc, clap (#1194) 2023-06-09 00:26:01 -04:00
Clement Tsang
38d7d0fbc6
deps: bump sysinfo to =0.29.2 (#1193) 2023-06-09 00:03:23 -04:00
Clement Tsang
6dd4ea945b
deps: bump clap, ctrc, once_cell (#1183)
Bumps these dependencies, which contains some small fixes/optimizations.
2023-06-04 00:50:21 -04:00
Clement Tsang
852e2e86c7
refactor: remove typed-builder (#1181) 2023-06-02 00:53:38 -04:00
Clement Tsang
4e99f31ad0
deps: bump ratatui to 0.21.0 (#1178) 2023-05-31 00:21:55 -04:00
Clement Tsang
88b12a3790
deps: bump regex and log (#1177) 2023-05-29 00:47:29 -04:00
Clement Tsang
eccaf11937
feature: support human times for default_time_value and time_delta (#1172)
* feature: support human times for time interval and default range

* add tests, fix not using ms

* appease clippy

* changelog
2023-05-26 00:42:40 -04:00
Clement Tsang
ea3f5e628d
deps: bump regex, toml_edit, ctrlc (#1168) 2023-05-24 00:54:39 -04:00
Clement Tsang
11b6fc1df2
deps: bump dependencies as of 2023-05-21 (#1166) 2023-05-23 00:22:17 -04:00
Clement Tsang
57da52b659
deps: bump clap to 4.3.0 (#1165) 2023-05-22 00:25:44 -04:00
Clement Tsang
caa1d1b88b
refactor: remove procfs (#1163)
* refactor: remove procfs, use personal impls/rustix directly

* buffer sharing

* inline

* some cleanup
2023-05-21 00:53:27 -04:00
Clement Tsang
b6f9a9a98d
deps: bump dependencies as of 2023-05-19 (#1161) 2023-05-19 04:04:44 -04:00
Clement Tsang
7bd93f2c7c
deps: bump dependencies as of 2023-05-13 (#1152) 2023-05-13 20:41:19 -04:00
Clement Tsang
9d433be3f3
other: bump version to 0.9.1 (#1151) 2023-05-13 18:08:12 -04:00
Clement Tsang
a62fdc5e04
deps: bump clap to 4.2.7 and libc to 0.2.143 (#1136) 2023-05-07 04:35:42 -04:00
Clement Tsang
f00d09ded5
deps: bump sysinfo to =0.29.0 (#1135) 2023-05-07 01:32:25 -04:00
Clement Tsang
440e10c34d
other: disable logging when building with default features (#1133)
* other: disable logging when building with default features

* update docs
2023-05-06 17:35:10 -04:00
Clement Tsang
2051c06115
deps: bump dirs to 5.0.1 (#1123) 2023-05-03 01:23:48 -04:00
Clement Tsang
7edc2fc7e5
deps: bump patch versions as of 2023-04-30 (#1119) 2023-05-01 01:27:04 -04:00
Clement Tsang
7162e9c483
deps: bump clap to 4.2.5 (#1118) 2023-04-29 00:02:29 -04:00
Clement Tsang
c99e98c6d3
other: edit some comments 2023-04-28 00:00:23 -04:00
Clement Tsang
48747b8bd2
deps: bump patch versions as of 2023-04-26 (#1117) 2023-04-27 00:19:32 -04:00
Clement Tsang
109498c1db
deps: remove const_format dependency (#1114)
* deps: remove const_format dependency

I was importing it for just one use case, but I could just define the
const string manually and not pull it in at all.

* update husky entry
2023-04-23 00:53:21 -04:00
Clement Tsang
a00ab46c5e
deps: bump regex to 1.8.0 (#1111) 2023-04-22 00:19:12 -04:00
Clement Tsang
3618449d42
deps: update clap to 4.x (#1107)
* deps: update clap to 4.x

* changelog

* fix test

* add gpu feature/flag test
2023-04-21 00:07:34 -04:00
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
Clement Tsang
17ca30c023
other: remove flume (#893)
In hindsight, pulling in flume is probably overkill and doesn't really
help much.
2022-11-13 01:59:45 -05:00
Clement Tsang
50768907ec
feature: add custom retention periods for data (#892)
* feature: add custom retention periods for data

* docs: update changelog

* docs: update docs
2022-11-13 01:51:10 -05:00