A TUI system monitor written in Rust

Related tags

ytop
Overview

NO LONGER MAINTAINED. For a similar program, check out https://github.com/ClementTsang/bottom.

ytop

Minimum rustc version Matrix

Another TUI based system monitor, this time in Rust!

Missing features

  • macOS is missing disk io counters and process commandline
  • Process filtering isn't implemented
  • Mouse usage isn't implemented
  • FreeBSD is currently unsupported

Installation

ytop currently works on Linux and macOS with support planned for all major platforms.

Package managers

Packaging status

AUR

ytop is available in three different AUR packages: ytop, ytop-bin, and ytop-git.

COPR

ytop is also available in COPR:

sudo dnf copr enable atim/ytop -y
sudo dnf install ytop

Homebrew

brew tap cjbassi/ytop
brew install ytop

Prebuilt binaries

Prebuilt binaries are provided in the releases tab.

From source

cargo install ytop

Usage

Keybinds

  • Quit: q or <C-c>
  • Pause: <Space>
  • Process navigation:
    • k and <Up>: up
    • j and <Down>: down
    • <C-u>: half page up
    • <C-d>: half page down
    • <C-b>: full page up
    • <C-f>: full page down
    • gg and <Home>: jump to top
    • G and <End>: jump to bottom
  • Process actions:
    • <Tab>: toggle process grouping
    • dd: kill selected process or process group
  • Process sorting:
    • p: PID/Count
    • n: Command
    • c: CPU
    • m: Mem
  • Process filtering:
    • /: start editing filter
    • (while editing):
      • <Enter>: accept filter
      • <C-c> and <Escape>: clear filter
  • CPU and Mem graph scaling:
    • h: scale in
    • l: scale out
  • ?: toggles keybind help menu

Mouse

  • click to select process
  • mouse wheel to scroll through processes

Colorschemes

ytop ships with a few colorschemes which can be set with the -c flag followed by the name of one. You can find all the colorschemes in the colorschemes folder.

To make a custom colorscheme, copy one of the default ones to ~/.config/ytop/<new-name>.json and load it with ytop -c <new-name>. Colorscheme PRs are welcome!

CLI Options

USAGE:
    ytop [FLAGS] [OPTIONS]

FLAGS:
    -a, --average-cpu    Show average CPU in the CPU widget
    -b, --battery        Show Battery widget (overridden by 'minimal' flag)
    -f, --fahrenheit     Show temperatures in fahrenheit
    -h, --help           Prints help information
    -m, --minimal        Only show the CPU, Mem, and Process widgets
    -p, --per-cpu        Show each CPU in the CPU widget
    -s, --statusbar      Show a statusbar with the time
    -V, --version        Prints version information

OPTIONS:
    -c, --colorscheme <colorscheme>    Set a colorscheme [default: default]
    -i, --interface <interface>        The name of the network interface to show in the Net widget. 'all' shows all
                                       interfaces [default: all]
    -I, --interval <interval>          Interval in seconds between updates of the CPU and Mem widgets. Can specify
                                       either a whole number or a fraction with a numerator of 1 [default: 1]

Related projects

Issues
  • Crash after running for a while

    Crash after running for a while "overflow when subtracting durations"

    Several times I've had ytop left running and came back to find it crashed with this backtrace:

    Backtrace (most recent call first):
      File "src/libcore/option.rs", line 1185, in core::option::expect_failed
      File "src/libcore/option.rs", line 345, in core::option::Option<T>::expect
      File "src/libcore/time.rs", line 744, in <core::time::Duration as core::ops::arith::Sub>::sub
      File "<unknown>", line 0, in psutil::process::process::Process::cpu_percent
      File "<unknown>", line 0, in <core::iter::adapters::Map<I,F> as core::iter::traits::iterator::Iterator>::try_fold
      File "<unknown>", line 0, in <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
      File "<unknown>", line 0, in <ytop::widgets::proc::ProcWidget as ytop::update::UpdatableWidget>::update
      File "<unknown>", line 0, in ytop::update::update_widgets
      File "<unknown>", line 0, in ytop::main
      File "<unknown>", line 0, in std::rt::lang_start::{{closure}}
      File "src/libstd/rt.rs", line 48, in std::rt::lang_start_internal::{{closure}}
      File "src/libstd/panicking.rs", line 287, in std::panicking::try::do_call
      File "src/libpanic_unwind/lib.rs", line 78, in __rust_maybe_catch_panic
      File "src/libstd/panicking.rs", line 265, in std::panicking::try
      File "src/libstd/panic.rs", line 396, in std::panic::catch_unwind
      File "src/libstd/rt.rs", line 47, in std::rt::lang_start_internal
      File "<unknown>", line 0, in main
      File "<unknown>", line 0, in __libc_start_main
      File "<unknown>", line 0, in <unknown>
      File "<unknown>", line 0, in <unknown>
    
    The application panicked (crashed).
      overflow when subtracting durations
    in src/libcore/option.rs, line 1185
    thread: main
    
    bug 
    opened by trolley 19
  • macOS support

    macOS support

    Currently rust-psutil is pretty barebones so we need to implement a lot the necessary cross platform functionality. Also, ytop currently only compiles on Linux because only Linux functions are implemented.

    • [x] Refactor rust-psutil to be more modular and allow cross platform functionality: https://github.com/borntyping/rust-psutil/pull/54
    • [x] Implement the functionality on Linux x86
      • [x] temperatures
    • [ ] Implement the functionality on macOS x86
      • [x] cpu percents
      • [x] cpu count
      • [x] memory
      • [ ] temps
      • [ ] disk
      • [x] net
      • [ ] processes
      • [x] battery
    opened by cjbassi 13
  • Fixes missing temperature on mac os

    Fixes missing temperature on mac os

    Hey there,

    I have fixed the missing temperature for mac os by using the same approach as used in the go version of this repo: https://github.com/cjbassi/gotop

    Cheers

    opened by Zarathustra2 12
  • README: Add Fedora instructions

    README: Add Fedora instructions

    Note that they are still in testing repos, so probably we should merge this in 2 days.

    opened by ignatenkobrain 9
  • Fix build with tui 0.9

    Fix build with tui 0.9

    Minimal effort changes to make ytop build with tui-0.9.

    Needs some discussion whether proposed approach of Widget ownership/borrowing is fine.

    Fixes #69

    opened by terorie 8
  • Upgrade tui

    Upgrade tui

    We need to upgrade tui for a few features and bug fixes but there is quite a few api changes in the latest release. I've started some work on this in the upgrade-tui branch, but i've just been a little busy with some other things if anybody feels like continuing to work on it. If you make any progress feel free to open a pull request against that branch. Thanks!

    help wanted 
    opened by cjbassi 8
  • attempt to multiply with overflow if swap is disabled

    attempt to multiply with overflow if swap is disabled

    repo @ e56403ded6881bc99a5425dc83d32c94e01f8f85 Linux t470 5.4.12-1-MANJARO #1 SMP PREEMPT Wed Jan 15 08:05:08 UTC 2020 x86_64 GNU/Linux terminal is alacritty

    RUST_BACKTRACE=Full ./target/debug/ytop

    Backtrace (most recent call first):
      File "/home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/widgets/canvas/mod.rs", line 106, in tui::widgets::canvas::Context::draw
        let index = dy / 4 * self.width as usize + dx / 2;
      File "/home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/widgets/chart.rs", line 474, in <tui::widgets::chart::Chart<LX,LY> as tui::widgets::Widget>::draw::{{closure}}
        ctx.draw(&Points {
      File "/home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/widgets/canvas/mod.rs", line 255, in <tui::widgets::canvas::Canvas<F> as tui::widgets::Widget>::draw
        painter(&mut ctx);
      File "/home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/widgets/chart.rs", line 469, in <tui::widgets::chart::Chart<LX,LY> as tui::widgets::Widget>::draw
        Canvas::default()
      File "src/widgets/mem.rs", line 96, in <ytop::widgets::mem::MemWidget as tui::widgets::Widget>::draw
        Chart::<String, String>::default()
      File "/home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/terminal.rs", line 49, in tui::terminal::Frame<B>::render
        widget.draw(area, self.terminal.current_buffer_mut());
      File "/home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/widgets/mod.rs", line 85, in tui::widgets::Widget::render
        f.render(self, area);
      File "src/draw.rs", line 75, in ytop::draw::draw_middle_row
        widgets.mem.render(frame, horizontal_chunks[1]);
      File "src/draw.rs", line 41, in ytop::draw::draw_widgets
        draw_middle_row(frame, widgets, vertical_chunks[1]);
      File "src/draw.rs", line 22, in ytop::draw::draw::{{closure}}
        draw_widgets(&mut frame, &mut app.widgets, chunks[0]);
      File "/home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/terminal.rs", line 140, in tui::terminal::Terminal<B>::draw
        f(self.get_frame());
      File "src/draw.rs", line 11, in ytop::draw::draw
        terminal.draw(|mut frame| {
      File "src/main.rs", line 128, in ytop::main
        draw(&mut terminal, &mut app).unwrap();
    
    The application panicked (crashed).
      attempt to multiply with overflow
    in /home/matthias/.cargo/git/checkouts/tui-rs-7836e4b22d734056/aff0a4c/src/widgets/canvas/mod.rs, line 106
    thread: main
    
    bug os:linux 
    opened by matthiaskrgr 8
  • With light background unreadable

    With light background unreadable

    image

    Required information:

    • ytop version (ytop -V): ytop 0.5.1
    • The output of uname -a: Linux roman-MS-7B43 5.3.0-40-generic #32-Ubuntu SMP Fri Jan 31 20:24:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

    Include any of the following information if relevant:

    • Terminal emulator (e.g. iTerm or gnome terminal): gnome terminal
    • tmux version (tmux -V):
    • Any relevenat hardware info:

    Please copy or attach ~/.local/state/ytop/errors.log if it exists and contains logs:

    opened by rofrol 8
  • There is already an application named rtop

    There is already an application named rtop

    Here it is. This could cause confusion in trying to find the project.

    opened by tydog98 8
  • Configuration for things displayed

    Configuration for things displayed

    Configuration to show displayed batteries, temperatures, and mount points

    For example, I might want to exclude my CPU die, or include my mouse battery

    opened by Qwerty-Space 0
  • Dracula colorscheme

    Dracula colorscheme

    Using colours from the popular Dracula theme for other apps and utilities.

    opened by rys 0
  • added a gruvbox theme and a picture

    added a gruvbox theme and a picture

    added a gruvbox theme for this to match the rest of my computer and wanted to share it.

    opened by carlsen1996 0
  • ytop displays negative temperature value

    ytop displays negative temperature value

    Environment

    $ ytop -V
    ytop 0.6.2
    $ uname -a
    Darwin 549725-mitll 19.6.0 Darwin Kernel Version 19.6.0: Sun Jul  5 00:43:10 PDT 2020; root:xnu-6153.141.1~9/RELEASE_X86_64 x86_64
    
    • Software: Mac OS X 10.15.6 (build 19G73), Xcode-11.6, rustc 1.47.0-nightly (cfc572cae 2020-07-30)
    • Any relevenat hardware info: iMac Pro 2019

    ~/.local/state/ytop/errors.log exists, but is empty.

    Problem

    On iMac (but not on older MacBooks) sysinfo provides - and ytop displays - wrong temperature. Note: I cloned sysinfo, and added some sensors (PECI CPU, and a couple more of such) to see what sensors report correctly on both Mac platforms). I found that all of those sensors give correct values on MacBook, but some fail on iMac Pro.

    Screen Shot 2020-08-02 at 21 25 01

    Proposed Workaround

    While we're discussing with @GuillaumeGomez the possibility of fixing sysinfo library - it would be nice if ytop could validate (sanity-check) inputs it receives from it. In this particular case, I'd love if ytop would check the received CPU temperature either against zero, or against CPU Proximity, and if it is lower (i.e., lower than zero, or lower than CPU Proximity) - ignore/drop that value and don't display it.

    Could you do that, please?

    opened by mouse07410 0
  • Document automatic `-a` vs `-p` selection

    Document automatic `-a` vs `-p` selection

    Some people have been rightfully confused (including myself when I first switched to ytop) that some computers will display all CPU cores, vs the average CPU usage. I think it would help if this detection was documented in the --help output next to the -a and -p flags saying something along the lines that it's the default if >= or < 8 cpu cores respectively.

    opened by LovecraftianHorror 0
  • Document minimum supported rust version

    Document minimum supported rust version

    Sadly from what I can tell there's no way to provide information about the minimum supported rust version in Cargo.toml, but there have been a number of issues raised here because of people using outdated compilers and getting build failures (#107 #66 etc.). If a minimum supported rust version was documented in the README and tested against with CI then hopefully people will understand the issue earlier.

    opened by LovecraftianHorror 0
  • run ytop in wsl ubuntu, but doesn`t work

    run ytop in wsl ubuntu, but doesn`t work

    Installed package ytop v0.6.2 (executable ytop) *******> ytop

    Backtrace omitted. Run with RUST_BACKTRACE=1 to display it. Run with RUST_BACKTRACE=full to include source snippets.

    The application panicked (crashed). called Result::unwrap() on an Err value: MissingData { path: "/proc/meminfo", contents: "MemTotal: 16112436 kB\nMemFree: 7029116 kB\nBuffers: 34032 kB\nCached: 188576 kB\nSwapCached: 0 kB\nActive: 167556 kB\nInactive: 157876 kB\nActive(anon): 103104 kB\nInactive(anon): 17440 kB\nActive(file): 64452 kB\nInactive(file): 140436 kB\nUnevictable: 0 kB\nMlocked: 0 kB\nSwapTotal: 13107196 kB\nSwapFree: 12628476 kB\nDirty: 0 kB\nWriteback: 0 kB\nAnonPages: 102824 kB\nMapped: 71404 kB\nShmem: 17720 kB\nSlab: 13868 kB\nSReclaimable: 6744 kB\nSUnreclaim: 7124 kB\nKernelStack: 2848 kB\nPageTables: 2524 kB\nNFS_Unstable: 0 kB\nBounce: 0 kB\nWritebackTmp: 0 kB\nCommitLimit: 515524 kB\nCommitted_AS: 3450064 kB\nVmallocTotal: 122880 kB\nVmallocUsed: 21296 kB\nVmallocChunk: 66044 kB\nHardwareCorrupted: 0 kB\nAnonHugePages: 2048 kB\nHugePages_Total: 0\nHugePages_Free: 0\nHugePages_Rsvd: 0\nHugePages_Surp: 0\nHugepagesize: 2048 kB\nDirectMap4k: 12280 kB\nDirectMap4M: 897024 kB\n" } in /home/ds/.cargo/registry/src/mirrors.tuna.tsinghua.edu.cn-df7c3c540f42cdbd/ytop-0.6.2/src/widgets/mem.rs, line 71 thread: main

    opened by DsCodeStudio 7
  • I want install ytop on windows , but more wrongs...

    I want install ytop on windows , but more wrongs...

    Compiling psutil v3.1.0 error[E0433]: failed to resolve: could not find sys in nix --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:7:10 | 7 | use nix::sys::signal::{kill, Signal}; | ^^^ could not find sys in nix

    error[E0433]: failed to resolve: could not find sys in nix --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\mod.rs:12:14 | 12 | pub use nix::sys::signal::Signal; | ^^^ could not find sys in nix

    error[E0432]: unresolved import nix::unistd --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:8:5 | 8 | use nix::unistd; | ^^^^^^^^^^^ no unistd in the root

    error[E0432]: unresolved import crate::cpu::cpu_times_percpu --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\cpu\cpu_times_percent.rs:3:29 | 3 | use crate::cpu::{cpu_times, cpu_times_percpu, CpuTimes}; | ^^^^^^^^^^^^^^^^ | | | no cpu_times_percpu in cpu | help: a similar name exists in the module: cpu_times_percent

    error[E0432]: unresolved import crate::disk::disk_io_counters_per_partition --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\disk\disk_io_counters.rs:6:5 | 6 | use crate::disk::disk_io_counters_per_partition; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no disk_io_counters_per_partition in disk

    error[E0432]: unresolved import crate::disk::partitions --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\disk\partition.rs:3:19 | 3 | use crate::disk::{partitions, FileSystem}; | ^^^^^^^^^^ | | | no partitions in disk | help: a similar name exists in the module: partition

    error[E0432]: unresolved import crate::network::net_io_counters_pernic --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\network\net_io_couters.rs:5:5 | 5 | use crate::network::net_io_counters_pernic; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no net_io_counters_pernic in network

    error[E0412]: cannot find type Error in crate nix --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\errors.rs:57:26 | 57 | NixError { source: nix::Error }, | ^^^^^ not found in nix | help: consider importing one of these items | 1 | use core::fmt::Error; | 1 | use crate::errors::Error; | 1 | use platforms::Error; | 1 | use snafu::Error; | and 5 other candidates

    error[E0412]: cannot find type Error in crate nix --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\errors.rs:64:16 | 64 | impl Fromnix::Error for Error { | ^^^^^ not found in nix | help: consider importing one of these items | 1 | use core::fmt::Error; | 1 | use crate::errors::Error; | 1 | use platforms::Error; | 1 | use snafu::Error; | and 5 other candidates

    error[E0412]: cannot find type Error in crate nix --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\errors.rs:65:22 | 65 | fn from(error: nix::Error) -> Self { | ^^^^^ not found in nix | help: consider importing one of these items | 1 | use core::fmt::Error; | 1 | use crate::errors::Error; | 1 | use platforms::Error; | 1 | use snafu::Error; | and 5 other candidates

    error[E0423]: expected function, found module cpu_times --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\cpu\cpu_times_percent.rs:144:19 | 144 | let cpu_times = cpu_times()?; | ^^^^^^^^^ a field by this name exists in Self

    error[E0423]: expected function, found module cpu_times --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\cpu\cpu_times_percent.rs:156:27 | 156 | let current_cpu_times = cpu_times()?; | ^^^^^^^^^ help: you might have meant to use the available field: self.cpu_times

    error[E0425]: cannot find function processes in module process --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\collector.rs:16:28 | 16 | let processes = process::processes()? | ^^^^^^^^^ not found in process

    error[E0423]: expected function, found module memory::virtual_memory --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:163:4 | 163 | memory::virtual_memory().map_err(|e| psutil_error_to_process_error(e, self.pid))?; | ^^^^^^^^^^^^^^^^^^^^^^ not a function

    error[E0412]: cannot find type Signal in this scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:229:36 | 229 | pub fn send_signal(&self, signal: Signal) -> ProcessResult<()> { | ^^^^^^ not found in this scope

    error[E0603]: module virtual_memory is private --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:163:12 | 163 | memory::virtual_memory().map_err(|e| psutil_error_to_process_error(e, self.pid))?; | ^^^^^^^^^^^^^^ private module | note: the module virtual_memory is defined here --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\memory\mod.rs:4:1 | 4 | mod virtual_memory; | ^^^^^^^^^^^^^^^^^^^

    error[E0308]: mismatched types --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\cpu\cpu_times_percent.rs:42:24 | 42 | pub fn idle(&self) -> Percent { | ---- ^^^^^^^ expected f32, found () | | | implicitly returns () as its body has no tail or return expression

    error[E0308]: mismatched types --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\cpu\cpu_times_percent.rs:54:24 | 54 | pub fn busy(&self) -> Percent { | ---- ^^^^^^^ expected f32, found () | | | implicitly returns () as its body has no tail or return expression

    error[E0599]: no function or associated item named sys_new found for struct process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:38:12 | 24 | pub struct Process { | ------------------ function or associated item sys_new not found for this ... 38 | Process::sys_new(pid) | ^^^^^^^ function or associated item not found in process::process::Process

    error[E0599]: no method named sys_ppid found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:50:8 | 50 | self.sys_ppid() | ^^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_name found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:54:8 | 54 | self.sys_name() | ^^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_exe found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:58:8 | 58 | self.sys_exe() | ^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_cmdline found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:64:8 | 64 | self.sys_cmdline() | ^^^^^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_cmdline_vec found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:70:8 | 70 | self.sys_cmdline_vec() | ^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: cmdline_vec

    error[E0599]: no method named sys_parents found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:91:8 | 91 | self.sys_parents() | ^^^^^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_status found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:95:8 | 95 | self.sys_status() | ^^^^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_cwd found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:99:8 | 99 | self.sys_cwd() | ^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_username found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:103:8 | 103 | self.sys_username() | ^^^^^^^^^^^^ help: there is an associated function with a similar name: username

    error[E0599]: no method named sys_get_nice found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:107:8 | 107 | self.sys_get_nice() | ^^^^^^^^^^^^ help: there is an associated function with a similar name: get_nice

    error[E0599]: no method named sys_set_nice found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:111:8 | 111 | self.sys_set_nice(nice) | ^^^^^^^^^^^^ help: there is an associated function with a similar name: set_nice

    error[E0599]: no method named sys_num_ctx_switches found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:115:8 | 115 | self.sys_num_ctx_switches() | ^^^^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: num_ctx_switches

    error[E0599]: no method named sys_num_threads found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:119:8 | 119 | self.sys_num_threads() | ^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: num_threads

    error[E0599]: no method named sys_threads found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:123:8 | 123 | self.sys_threads() | ^^^^^^^^^^^ help: there is an associated function with a similar name: num_threads

    error[E0599]: no method named sys_cpu_times found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:127:8 | 127 | self.sys_cpu_times() | ^^^^^^^^^^^^^ help: there is an associated function with a similar name: cpu_times

    error[E0599]: no method named sys_memory_info found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:154:8 | 154 | self.sys_memory_info() | ^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: memory_info

    error[E0599]: no method named sys_memory_full_info found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:158:8 | 158 | self.sys_memory_full_info() | ^^^^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: memory_full_info

    error[E0599]: no method named sys_memory_percent_with_type found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:179:8 | 179 | self.sys_memory_percent_with_type(r#type) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: memory_percent_with_type

    error[E0599]: no method named sys_chidren found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:183:8 | 183 | self.sys_chidren() | ^^^^^^^^^^^ method not found in &process::process::Process

    error[E0599]: no method named sys_open_files found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:187:8 | 187 | self.sys_open_files() | ^^^^^^^^^^^^^^ help: there is an associated function with a similar name: open_files

    error[E0599]: no method named sys_connections found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:191:8 | 191 | self.sys_connections() | ^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: connections

    error[E0599]: no method named sys_connections_with_type found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:195:8 | 195 | self.sys_connections_with_type(r#type) | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: there is an associated function with a similar name: connections_with_type

    error[E0599]: no method named sys_wait found for reference &process::process::Process in the current scope --> C:\Users\dscod.cargo\registry\src\github.com-1ecc6299db9ec823\psutil-3.1.0\src\process\process.rs:293:8 | 293 | self.sys_wait() | ^^^^^^^^ method not found in &process::process::Process

    error: aborting due to 42 previous errors

    Some errors have detailed explanations: E0308, E0412, E0423, E0425, E0432, E0433, E0599, E0603. For more information about an error, try rustc --explain E0308. error: could not compile psutil.

    To learn more, run the command again with --verbose. warning: build failed, waiting for other jobs to finish... error: build failed

    opened by DsCodeStudio 2
  • Provide fallback value for unwrap where appropriate

    Provide fallback value for unwrap where appropriate

    Addresses: #80

    This PR just tries to reduce down the number of unwraps used. In general, unwrap should be avoided over traditional error handling and mitigating with unwrap_or, unwrap_or_default, expect, etc. since it introduces possible ways to crash the program.

    opened by LovecraftianHorror 0
  • disks having incorrect R/W values

    disks having incorrect R/W values

    so this is running on a pi 4 with usb boot, tested on both pi 4s, results are the same

    you can see down below where the R/W are always the same, and the unit arent right, since I have a nextcloud instance running and writing around 20 MBs per sec

    image image image

    any ideas why?

    opened by icanotc 8
Releases(0.6.2)
Owner
Caleb Bassi
Matrix: @cjbassi:matrix.org
Caleb Bassi
A TUI system monitor written in Rust

NO LONGER MAINTAINED. For a similar program, check out https://github.com/ClementTsang/bottom. ytop Another TUI based system monitor, this time in Rus

Caleb Bassi 2k Jun 14, 2021
A cat(1) clone with wings.

A cat(1) clone with syntax highlighting and Git integration. Key Features • How To Use • Installation • Customization • Project goals, alternatives [中

David Peter 27.5k Jun 13, 2021
Blazing 💥 fast terminal-ui for git written in rust 🦀

Blazing fast terminal client for git written in Rust Features Fast and intuitive keyboard only control Context based help (no need to memorize tons of

Stephan Dilly 4.8k Jun 13, 2021
This project now lives on in a rewrite at https://gitlab.redox-os.org/redox-os/parallel

MIT/Rust Parallel: A Command-line CPU Load Balancer Written in Rust This is an attempt at recreating the functionality of GNU Parallel, a work-stealer

Michael Murphy 1.2k May 8, 2021
Basic system information fetcher, with a focus on performance.

Table of Contents: About Changelog Dependencies Benchmarks Features Installation Platform Support About Macchina Macchina lets you view basic system i

null 155 Jun 14, 2021
A modern replacement for ps written in Rust

procs procs is a replacement for ps written in Rust. Documentation quick links Features Platform Installation Usage Configuration Features Output by t

null 1.9k Jun 14, 2021
Super-fast command aliases with arguments.

Bonnie Bonnie is a command aliasing tool. If you have a super-long command that you have to run all the time, Bonnie is for you! Just define the comma

arctic_hen7 16 May 19, 2021
:stars: Manage your shell commands.

Pueue Pueue is a command-line task management tool for sequential and parallel execution of long-running tasks. Simply put, it's a tool that processes

Arne Beer 1.9k Jun 16, 2021
xargs + awk with pattern matching support. `ls *.bak | rargs -p '(.*)\.bak' mv {0} {1}`

Rargs is kind of xargs + awk with pattern-matching support. Installation Mac OS brew install rargs Nix nix-env -i rargs (Currently available in unst

Jinzhou Zhang 302 Jun 10, 2021
A simple and fast download accelerator, written in Rust

zou A simple and fast download accelerator, written in Rust Zou is a Snatch fork by @k0pernicus. Snatch is a fast and interruptable download accelerat

Antonin Carette 152 Apr 16, 2021
Mirror of https://gitlab.redox-os.org/redox-os/ion

Introduction Ion is a modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust, which greatly increases the ov

Redox OS 1.2k Jun 15, 2021
A modern replacement for ‘ls’.

exa exa is a modern replacement for ls. README Sections: Options — Installation — Development exa is a modern replacement for the venerable file-listi

Benjamin Sago 13.5k Jun 13, 2021
Performs distributed command execution, written in Rust w/ Tokio

Concurr: Distributed and Concurrent Command Execution, in Rust This project is dual licensed under MIT and Apache 2.0. Originally inspired by the GNU

Michael Murphy 78 May 8, 2021
Fuzzy Finder in rust!

Life is short, skim! Half of our life is spent on navigation: files, lines, commands… You need skim! It is a general fuzzy finder that saves you time.

Jinzhou Zhang 2.6k Jun 15, 2021