Age | Commit message (Collapse) | Author |
|
This just simplifies the logic around ctrl-c and termination logic and
event loop logic to something simpler and without the need for timeouts
and/or atomics.
Instead, we just make termination an event sent by ctrl-c and use the
same receiver for event handling to react to it and break the loop.
|
|
|
|
|
|
* First implementation of cache memory data collection, mostly copied from RAM and swap implementations
* First implementation of cache memory display, copied from RAM and swap implementations. placed cache as second in the list as it is more similar to the RAM than any other item in the list
* expanded comment to explain method.
* rustfmt
* all cache-related code excluded on windows, in the process refactored src/data_conversion.rs convert_mem_label() to convert a single label instead of all at once
* better factoring-out of cache memory logic to allow individual disabling
* added --enable_cache_memory flag, disabled cache memory collection by default
* renamed CCH to CHE
not sure how i messed that up
* changelog updated
* Added command line flag documentation
* updated config file documentation
* specified that buffer and cache memory display does not work on windows
* resolved merge conflicts
* added documentation to cache memory data collection
* capitalized Windows
* implemented missing canvas styling logic
* fixed misplaced no-windows flag
* reduced colour collisions, as cache colour was the same as the first GPU colour
* made FIFTH_COLOUR constant windows-only
* Revert "made FIFTH_COLOUR constant windows-only"
This reverts commit 72698f1dd7e2de7dbda843708ece6a3dba66f94f.
* made FIFTH_COLOUR constant non-windows-only
* minor fix for basic mode row count
* Update src/app/data_harvester/memory/sysinfo.rs
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
* Update src/canvas/widgets/mem_basic.rs
Co-authored-by: Clement Tsang <34804052+ClementTsang@users.noreply.github.com>
* updated default_config.toml
* formatting
---------
Co-authored-by: ClementTsang <34804052+ClementTsang@users.noreply.github.com>
|
|
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
|
|
|
|
* deps: update sysinfo to 0.28.0
* 0.28.1
* 0.28.2
* 0.28.3
* 0.28.4
|
|
* refactor: unify on using bytes for the memory unit when harvesting
* some ordering stuff that doesn't mean much
* some comments
* more fixes
* refactor: rename
* comments v2
* some more cleanup
* remove uninlined_format_args allow
|
|
|
|
|
|
|
|
* refactor: optimize kept list in tree to just store filtered values in a set
* change: show all direct children of a tree process children if the parent matches
* change: show process in tree if any ancestor or descendent matches
|
|
* 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>
|
|
|
|
* some quick refactoring first
* add todo for bug report template
|
|
|
|
* 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
|
|
Moves the widget folder away from being nested in the app hierarchy.
|
|
* refactor: simplify non-normalized code
* update docs
* appease clippy
* add comment
* unnormalized
* fix issues on non-Linux regarding typos/imports
|
|
|
|
In hindsight, pulling in flume is probably overkill and doesn't really
help much.
|
|
The throttler is only really needed for scrolls (e.g. free scroll wheels
in Logitech mice), I don't really see it being needed in any other
contexts. Moves/drag is another one I guess but we outright ignore those
events right now.
|
|
* refactor: add some disabled unstable fmt options
* run cargo +nightly fmt with group_imports
* separate out the cfg-specific imports for clarity
|
|
|
|
* feature: add pasting to search
Supports pasting events to the search bar (e.g. shift-insert, ctrl-shift-v).
* update docs
* clippy
* comment
* Update process.md
* remove keyboard event throttle
* fix issues with cjk/flag characters
|
|
* deps: update tui to 0.19 and crossterm to 0.25
* fix error
* handle breaking changes
|
|
* ci: add cache clearing to PR merges
* some renaming
* small change to force cache
* add manual run option
|
|
|
|
* feature: basic sortable temp
* add shortcuts
* fix missing shortcut names in header
* update changelog
* update docs
|
|
* refactor: remove redundant scroll direction enum
This was made redundant from the table refactor.
* add some todos/docs
* refactor: temp hack to pass in data on process
|
|
* add gpu ram collector for nvidia feature flag
* add row for TX in basic layout
* size gpu point_vec
* use vec for mem basic widget drawing
* remove to_owned
* code review: change mem tuple to struct with cfg fields, rename mem_basic ratio and use vec macro for layout
* build on freebsd
|
|
* refactor: move to new data table implementation
* more work towards refactor
* move disk and temp over, fix longstanding bug with disk and temp if removing the last value and selected
* work towards porting over CPU
work towards porting over CPU
fix typo
partially port over cpu, fix some potentially inefficient concat_string calls
more work towards cpu widget migration
some refactoring
* sortable data
sortable data
more refactoring
some sort refactoring
more refactoringgggg
column refactoring
renaming and reorganizing
more refactoring regarding column logic
add sort arrows again
* move over sort menu
* port over process
port over process
precommit
temp
temp two, remember to squash
work
fix broken ltr calculation and CPU hiding
add back row styling
temp
fix a bunch of issues, get proc working
more fixes around click
fix frozen issues
* fix dd process killing
* revert some of the persistent config changes from #257
* fix colouring for trees
* fix missing entries in tree
* keep columns if there is no data
* add and remove tests
* Fix ellipsis
|
|
* freebsd clippy
* add arc support
* Code Review: moved runtime cfg checks to compile time and formatting
* remove compile platform checks
* add zfs feature flag to get_arc_data
|
|
* add ctrl-u/ctrl-d to process table
* add help text for ctrl-u/ctrl-d
* add ctrl-u/ctrl-d to help dialog
* store height of help menu, fix overscroll with half page down on help menu
Co-authored-by: ClementTsang <34804052+ClementTsang@users.noreply.github.com>
|
|
Addition to #760, adds an extra message so users know how to exit in this scenario.
|
|
Adds a warning if the user is calling bottom from an environment where the output is not a terminal.
|
|
Enables lib docs, primarily intended for dev use. Also change some existing documentation based on warnings (mainly broken/bare links).
|
|
A small refactor to move some state/component files around in terms of file structure and code location. Should have no effect on logic.
|
|
Bugs squashed:
- Incorrect column sizing for flex cases
- Case where the sort menu bounds were still existing despite being
hidden
- Proc widget not actually taking into account the calculated row widths
in some cases during data conversion.
|
|
|
|
A bunch of work towards also refactoring how the process widget
gathers and converts data.
|
|
|
|
|
|
This is a simple bug fix that changes the behaviour of a scroll select
(and column select) to only update if the updated position is _within_
the bounds of the list (0 to the max index, inclusive). Prior to this,
all the implementations but the disk implementation would just bound the
change. This was both inconsistent with the disk scroll state, but also
jarring since this meant a user could click on seemingly empty space but
it would somehow click on the very last entry.
This change also unifies the scroll calculation function between all the
scroll select functions. Ideally we get rid of the intermediary
functions but that might require more refactoring than I want for this
fairly simple bug fix.
The column select scroll calculation was also changed to fit this
behaviour, but it does not use the same logic as the other scroll
states. What could be done in the future is a generic implementation for
direction (or maybe just "increment vs. decrement") to share it all.
|
|
Fixes a few clippy lints around function parameters and using slices over vector references.
|
|
Adds page up/down scrolling support to respectively scroll up/down by a full page.
Note that this is mostly just to get the feature out for those interested, and is admittedly a bit rushed - I will be rewriting all logic involving event handling as part of state refactor anyways, so this will also get changed in the work done there, and therefore, I kinda just sped through this.
|
|
Adds CI actions and documentation for RISC-V.
|
|
Adds F9 as an alternative kill shortcut to dd.
|
|
Since it's supported again, seems like a good time to switch back to
dirs.
|
|
Removes some old trace lines for cleanup
|