below is an interactive tool to view and record historical system data.

Overview

below

CI Matrix chat

below is an interactive tool to view and record historical system data. It has support for:

  • information regarding hardware resource utilization
  • viewing the cgroup hierarchy
  • cgroup and process information
  • pressure stall information (PSI)
  • record mode to record system data
  • replay mode to replay historical system data
  • live mode to view live system data
  • dump subcommand to report script-friendly information (eg JSON and CSV)

below does not have support for cgroup1.

The name "below" stems from the fact that the below developers rejected many of atop's design and style decisions.

Demo

Installing

below is packaged in Fedora as of Fedora 34, and can be installed with:

sudo dnf install below

Optionally, the systemd service for persistent data collection can also be enabled with:

sudo systemctl enable --now below

Installing from source

First, install dependencies listed in building.md.

$ cargo install below
$ below --help

For convenience, we also provide a Dockerfile and pre-built images on Docker Hub. See docker.md for how to use them.

Quickstart

Live view of system:

$ sudo below live

Run recording daemon:

$ sudo cp ~/.cargo/bin/below /bin/below  # if using cargo-install
$ sudo cp resctl/below/etc/below.service /etc/systemd/system
$ sudo systemctl daemon-reload
$ sudo systemctl start below

Replay historical data:

$ below replay -t "3m ago"

Comparison with alternative tools

See comparison.md for a feature comparison with alternative tools.

Contributing

See the CONTRIBUTING file for how to help out.

License

See LICENSE file.

Comments
  • Large number of clock_gettime syscalls

    Large number of clock_gettime syscalls

    I noticed when running below on live mode a few interesting things. First there are roughly 3-4 clock_gettime syscalls per epoll_wait.

    strace -f -p `pgrep below`
    ...
    [pid 10545] epoll_wait(7, [], 3, 0)     = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=824761942}) = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=824806781}) = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=824850152}) = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=824894012}) = 0
    [pid 10545] epoll_wait(7, [], 3, 0)     = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=824976495}) = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=825019028}) = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=825062260}) = 0
    [pid 10545] clock_gettime(CLOCK_MONOTONIC, {tv_sec=1030, tv_nsec=825104165}) = 0
    [pid 10545] epoll_wait(7, [], 3, 0)     = 0
    

    A quick and dirty bpftrace estimate of syscalls/sec, shows ~20k syscalls/sec:

     bpftrace -e 'tracepoint:raw_syscalls:sys_enter /comm == "below"/ { @syscalls = count(); }
        interval:s:1 { print(@syscalls); clear(@syscalls); }'
    Attaching 2 probes...
    @syscalls: 20399
    @syscalls: 19499
    @syscalls: 18809
    @syscalls: 19378
    @syscalls: 27254
    @syscalls: 20061
    @syscalls: 19144
    @syscalls: 18824
    

    Compared to clock_gettime syscalls (~15k syscalls/sec):

    bpftrace -e 'tracepoint:syscalls:sys_enter_clock_gettime /comm == "below"/ { @syscalls = count(); }
        interval:s:1 { print(@syscalls); clear(@syscalls); }'
    Attaching 2 probes...
    @syscalls: 15518
    @syscalls: 15510
    @syscalls: 17648
    @syscalls: 14906
    @syscalls: 15070
    @syscalls: 15713
    

    Not that there is anything wrong with running clock_gettime, but when I run top/htop at the same time as below I notice it takes anywhere in the range of ~7-12% CPU. From digging around the code I'm guessing the store crate is probably where many of these calls are coming from:

    rg -i 'now\(' | cut -d ':' -f 1 | sort | uniq -c
          1 below/common/src/cliutil.rs
         32 below/common/src/dateutil.rs
          2 below/model/src/collector.rs
          7 below/src/main.rs
          4 below/src/test.rs
          1 below/store/src/advance.rs
          9 below/store/src/cursor.rs
         11 below/store/src/lib.rs
          1 below/view/src/lib.rs
    
    opened by hodgesds 7
  • Build Failure on Jammy(Ubuntu 22.04)

    Build Failure on Jammy(Ubuntu 22.04)

    Hello, I have compiled below on latest ubuntu 22.04 jammy.

    Looks like dependency libbpf-sys v0.6.2+v0.6.1 has an issue.

      Compiling crossbeam-deque v0.8.1
       Compiling signal-hook-mio v0.2.3
       Compiling libbpf-sys v0.6.2+v0.6.1
       Compiling zstd-sys v1.5.0+zstd.1.4.9
       Compiling vsprintf v2.0.0
       Compiling console v0.15.0
       Compiling crossterm v0.19.0
       Compiling darling_core v0.10.2
       Compiling term v0.7.0
       Compiling crossterm v0.20.0
       Compiling num v0.3.1
    error: failed to run custom build command for `libbpf-sys v0.6.2+v0.6.1`
    
    Caused by:
      process didn't exit successfully: `/tmp/cargo-install9Iwpfi/release/build/libbpf-sys-d272316adf9e8884/build-script-build` (exit status: 101)
      --- stderr
      make: *** No targets specified and no makefile found.  Stop.
      thread 'main' panicked at 'pkg-config is required to compile libbpf-sys using the vendored copy of libbpf', /home/paran/.cargo/registry/src/github.com-1ecc6299db9ec823/libbpf-sys-0.6.2+v0.6.1/build.rs:81:13
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    warning: build failed, waiting for other jobs to finish...
    error: failed to compile `below v0.5.0`, intermediate artifacts can be found at `/tmp/cargo-install9Iwpfi`
    [email protected]:~/below$ uname -a
    Linux paran-virtual-machine 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
    

    What contribution can I make to help this issue?

    Thanks. Paran Lee.

    opened by paranlee 6
  • Invalid file format:

    Invalid file format: "/proc/1/cgroup"

    I installed below with dnf on Fedora 34, and I get this error when I try to start it:

    ❯❯❯ sudo below live
    Aug 21 14:33:45.414 ERRO
    ----------------- Detected unclean exit ---------------------
    Error Message: Invalid file format: "/proc/1/cgroup"
    -------------------------------------------------------------
    

    I also see the same error message over and over in journald.

    In case it matters, before this I encountered the issue described in #8103 (I had disabled cgroup v2 to install docker) but I fixed it (at least I think I did) and now I get the error above instead.

    I'm not sure if I can provide good reproducible steps, as this is a fairly old Fedora install that has been updated and tweaked over the years. But I'd appreciate any help diagnosing the issue further.

    bug 
    opened by gdetrez 6
  • run failed with

    run failed with "cpu.pressure": Operation not supported (os error 95)

    # .cargo/bin/below --version
    below 0.5.0
    # .cargo/bin/below
    Apr 08 14:22:16.594 ERRO
    ----------------- Detected unclean exit ---------------------
    Error Message: Os { code: 95, kind: Uncategorized, message: "Operation not supported" }: "cpu.pressure": Operation not supported (os error 95)
    -------------------------------------------------------------
    # cat /sys/fs/cgroup/cpu.pressure
    cat: /sys/fs/cgroup/cpu.pressure: Operation not supported
    

    os info: centos 9 stream 5.14.0-71.el9.x86_64 CONFIG_PSI_DEFAULT_DISABLED=y

    opened by xixiliguo 5
  • Update outdated Cargo.lock and ensure that it’s always up to date

    Update outdated Cargo.lock and ensure that it’s always up to date

    Update outdated Cargo.lock

    $ cargo build --locked
        Updating crates.io index
        Updating git repository `https://github.com/facebookexperimental/rust-shed.git`
    error: the lock file below/Cargo.lock needs to be updated but --locked was passed to prevent this
    If you want to try to generate the lock file without accessing the network, remove the --locked flag and use --offline instead.
    

    Remove semver build metadata from Cargo.toml

    $ cargo build
    warning: below/below/store/Cargo.toml: version requirement `5.0.1+zstd.1.5.2` for dependency `zstd-safe` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion
    warning: below/below/store/Cargo.toml: version requirement `0.11.1+zstd.1.5.2` for dependency `zstd` includes semver metadata which will be ignored, removing the metadata is recommended to avoid confusion
    

    Require Cargo.lock is up to date

    Ensure that Cargo.lock is always up to date when building and that each time the same versions of the crates are used (reproducible builds).


    Please always update and commit Cargo.lock after changing any Cargo.toml (cargo does it automatically when running cargo build and similar).

    CLA Signed 
    opened by jirutka 4
  • Refactor gpu_stats

    Refactor gpu_stats

    Summary: Add open source shim for gpu_stats so that we can remove some #[allow_unused] and #[cfg(fbcode_build)]. Those for view (UI) are a bit coupled. Tackling them will lead to a blank page for GPU until it's implemented. Therefore will leave that for the future.

    Differential Revision: D36828570

    CLA Signed fb-exported 
    opened by lnyng 4
  • Use released cursive_tab and cursive_buffered_backend version (#76)

    Use released cursive_tab and cursive_buffered_backend version (#76)

    Summary: Pull Request resolved: https://github.com/facebookexperimental/eden/pull/76

    Use released version to fix cursive_core version conflicts.

    Differential Revision: D27032206

    CLA Signed fb-exported Merged 
    opened by chengxiong-ruan 4
  • Error while trying to build

    Error while trying to build

    I have a Dockerfile that I use for trying to build below located here https://gist.github.com/dc510ccd122e6c13d6271833dd1cbcee I keep getting the following error while trying to build the HEAD , the tag v0.5.0 builds just fine.

    
    #15 105.6    Compiling num_enum_derive v0.5.4
    #15 105.7    Compiling cursive v0.16.3
    #15 107.1    Compiling cursive_buffered_backend v0.5.0
    #15 107.7    Compiling below-common v0.5.0 (/src/below/below/common)
    #15 107.8    Compiling num_enum v0.5.4
    #15 108.2    Compiling btrfs v0.5.0 (/src/below/below/btrfs)
    #15 108.4    Compiling below-gpu-stats v0.5.0 (/src/below/below/gpu_stats)
    #15 108.7 error: `#[derive]` can't be used on a `#[repr(packed)]` struct that does not derive Copy (error E0133)
    #15 108.7     --> below/btrfs/src/btrfs_api/open_source/btrfs_sys.rs:4997:10
    #15 108.7      |
    #15 108.7 4997 | #[derive(Debug)]
    #15 108.7      |          ^^^^^
    #15 108.7      |
    #15 108.7      = note: `#[deny(unaligned_references)]` on by default
    #15 108.7      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    #15 108.7      = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
    #15 108.7      = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
    #15 108.7 
    #15 108.8 error: could not compile `btrfs` due to 2 previous errors
    #15 108.8 warning: build failed, waiting for other jobs to finish...
    ------
    executor failed running [/bin/sh -c /root/.cargo/bin/cargo build --release --all-targets]: exit code: 101
    make: *** [build] Error 1
    (ins)lrfurtado-mbp:below_build lrfurtado$ 
    
    opened by lrfurtado 3
  • Fix procfs when reading cgroup membership

    Fix procfs when reading cgroup membership

    When reading cgroup membership, we currently assume that the cgroup v2 line will be first in /proc/[pid]/cgroup. This is not necessarily the case. Instead let's take the first line that starts with "0::".

    Tested on ubuntu where

    $ cat /proc/1/cgroup
    12:blkio:/init.scope
    11:pids:/init.scope
    8:memory:/init.scope
    7:freezer:/
    4:devices:/init.scope
    2:cpu,cpuacct:/init.scope
    1:name=systemd:/init.scope
    0::/init.scope
    

    This should fix #8105.

    CLA Signed Merged 
    opened by brianc118 3
  • Ensure two samples are at least 1s apart

    Ensure two samples are at least 1s apart

    Summary: below samples have seconds granularity, which is enforced at the index entry timestamp. If two samples are recorded at the same second, we can't tell them apart. Zero-second collection interval will also mess up rate calculations. Let's make sure every two samples are at least 1s apart.

    Reviewed By: boyuni

    Differential Revision: D29642266

    CLA Signed fb-exported Merged 
    opened by lnyng 3
  • Fix weird looking highlighted values in below

    Fix weird looking highlighted values in below

    Summary:

    1. Upgrade Cursive to v0.16.3
    2. patch cursive_buffered_backend with a temp fork before v0.4.2 is released. This is needed to avoid Rust being confused by Backend trait from different versions of cursive_core

    Reviewed By: dschatzberg

    Differential Revision: D25987535

    CLA Signed fb-exported Merged 
    opened by chengxiong-ruan 3
  • build-failed : thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value

    build-failed : thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value

    ''' Compiling below v0.5.0 (/home/bhzhu/source/below/below) error: failed to run custom build command for below v0.5.0 (/home/bhzhu/source/below/below)

    Caused by: process didn't exit successfully: /home/bhzhu/source/below/target/release/build/below-718216cef9c31e46/build-script-build (exit status: 101) --- stderr thread 'main' panicked at 'called Result::unwrap() on an Err value: Build("Failed to run regex on version string")', below/build.rs:19:47 stack backtrace: 0: 0x5555557ee5ec - std::backtrace_rs::backtrace::libunwind::trace::h26ded3cee286f9ec at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 1: 0x5555557ee5ec - std::backtrace_rs::backtrace::trace_unsynchronized::h830d548378790fdc at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x5555557ee5ec - std::sys_common::backtrace::_print_fmt::h7356e27371ec940d at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/sys_common/backtrace.rs:66:5 3: 0x5555557ee5ec - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3da18fd93237a444 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/sys_common/backtrace.rs:45:22 4: 0x555555810c3c - core::fmt::write::h1b11e7c3b9f52b83 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/core/src/fmt/mod.rs:1190:17 5: 0x5555557ea318 - std::io::Write::write_fmt::h2530d62e754fd8dc at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/io/mod.rs:1657:15 6: 0x5555557f0657 - std::sys_common::backtrace::_print::ha001eea1f09df837 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/sys_common/backtrace.rs:48:5 7: 0x5555557f0657 - std::sys_common::backtrace::print::he19aad5eb563cdb7 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/sys_common/backtrace.rs:35:9 8: 0x5555557f0657 - std::panicking::default_hook::{{closure}}::h4bec003d220dffc8 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:295:22 9: 0x5555557f031f - std::panicking::default_hook::hbf9de44b5ceb445d at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:314:9 10: 0x5555557f0dba - std::panicking::rust_panic_with_hook::hba49b95df3772ed5 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:698:17 11: 0x5555557f0aa7 - std::panicking::begin_panic_handler::{{closure}}::he9fc0b4286f77c60 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:588:13 12: 0x5555557eea94 - std::sys_common::backtrace::__rust_end_short_backtrace::h07791585b84f81da at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/sys_common/backtrace.rs:138:18 13: 0x5555557f07a9 - rust_begin_unwind at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:584:5 14: 0x5555555b9c13 - core::panicking::panic_fmt::he8540b011fb85aaa at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/core/src/panicking.rs:143:14 15: 0x5555555b9ca3 - core::result::unwrap_failed::h5b5a61b4f1a3fe39 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/core/src/result.rs:1749:5 16: 0x5555555babe2 - core::result::Result<T,E>::unwrap::hbd8ff0f689370095 17: 0x5555555bcb7a - build_script_build::main::h64c087248aa8d4af 18: 0x5555555bb2c3 - core::ops::function::FnOnce::call_once::h3fe4fb01b7d47e7e 19: 0x5555555bb509 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4b18e62f18ccc92a 20: 0x5555555bcac9 - std::rt::lang_start::{{closure}}::hf32d562c9a5ca0c2 21: 0x5555557edcd1 - core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once::hb16268c89c211835 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/core/src/ops/function.rs:259:13 22: 0x5555557edcd1 - std::panicking::try::do_call::h42af4c24be01d864 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:492:40 23: 0x5555557edcd1 - std::panicking::try::hcddad39c2668977b at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:456:19 24: 0x5555557edcd1 - std::panic::catch_unwind::h17be4d22360f6801 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panic.rs:137:14 25: 0x5555557edcd1 - std::rt::lang_start_internal::{{closure}}::he399a7bc5b46d1ed at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/rt.rs:128:48 26: 0x5555557edcd1 - std::panicking::try::do_call::he22e88faa301e128 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:492:40 27: 0x5555557edcd1 - std::panicking::try::h179e28dc63c29e66 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panicking.rs:456:19 28: 0x5555557edcd1 - std::panic::catch_unwind::h926c540a0059105b at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/panic.rs:137:14 29: 0x5555557edcd1 - std::rt::lang_start_internal::hcf3b4e612381f709 at /rustc/09cb29c64c2a0e15debf2d6fca2bc7c71a682033/library/std/src/rt.rs:128:20 30: 0x5555555bcab1 - std::rt::lang_start::hfb5e709917bc1f4e 31: 0x5555555bcc43 - main 32: 0x7ffff6f1f50d - __libc_start_main at /home/bhzhu/source/glibc-2.33/csu/../csu/libc-start.c:332:16 33: 0x5555555ba43a - _start at /home/bhzhu/source/glibc-2.33/csu/../sysdeps/x86_64/start.S:120 34: 0x0 - warning: build failed, waiting for other jobs to finish... error: build failed '''

    opened by bhzhu203 10
  • below 0.3.0 records an unclean exit (crash)

    below 0.3.0 records an unclean exit (crash)

    This happens when I'm emerging packages in Gentoo:

    # ~ $ below
    # ~ $ echo $?
    1
    # ~ $ below
    Nov 04 12:05:08.863 ERRO
    ----------------- Detected unclean exit ---------------------
    Error Message: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }: "portage/net-fs:samba-4.14.9.ccy1d170/io.stat": Permission denied (os error 13)
    -------------------------------------------------------------
    
    # ~ $ journalctl -et below --no-hostname
    Nov 04 10:45:33 below[2296112]: Nov 04 10:45:33.016 DEBG Starting up!
    Nov 04 10:45:38 below[2296112]: Nov 04 10:45:38.015 ERRO System error, errno: 1
    Nov 04 10:45:43 below[2296112]: Nov 04 10:45:43.016 WARN bpf error channel disconnected
    Nov 04 11:37:13 below[2296112]: Nov 04 11:37:13.202 ERRO panic 'cmdline receiver hung up: SendError { .. }': below/procfs/src/lib.rs:630
    Nov 04 11:37:13 below[2296112]: Backtrace is not available.
    Nov 04 11:37:18 below[2296112]: Nov 04 11:37:18.175 ERRO panic 'cmdline receiver hung up: SendError { .. }': below/procfs/src/lib.rs:630
    Nov 04 11:37:18 below[2296112]: Backtrace is not available.
    Nov 04 11:49:28 below[2296112]: Nov 04 11:49:28.238 ERRO panic 'cmdline receiver hung up: SendError { .. }': below/procfs/src/lib.rs:630
    Nov 04 11:49:28 below[2296112]: Backtrace is not available.
    Nov 04 11:55:48 below[2296112]: Nov 04 11:55:48.197 ERRO panic 'cmdline receiver hung up: SendError { .. }': below/procfs/src/lib.rs:630
    Nov 04 11:55:48 below[2296112]: Backtrace is not available.
    Nov 04 12:03:23 below[2296112]: Nov 04 12:03:23.230 ERRO panic 'cmdline receiver hung up: SendError { .. }': below/procfs/src/lib.rs:630
    Nov 04 12:03:23 below[2296112]: Backtrace is not available.
    

    sys-fs-cgroup.tree.txt

    opened by kakra 11
  • Process error

    Process error

    Hello! Thanks for creating and open-sourcing it. I have managed to compiled below on my system which is

    ➜  below git:(main) ✗ uname -r  
    5.8.0-63-generic
    ➜  below git:(main) ✗ lsb_release -a
    No LSB modules are available.
    Distributor ID:	Ubuntu
    Description:	Ubuntu 20.04.3 LTS
    Release:	20.04
    Codename:	focal
    

    After compiling from the source, when I try to run it, I am not able to with the following error

    ➜  below git:(main) ✗ sudo ./target/release/below --help
    below 0.3.0
    
    USAGE:
        below [FLAGS] [OPTIONS] [SUBCOMMAND]
    
    FLAGS:
        -d, --debug      
        -h, --help       Prints help information
        -V, --version    Prints version information
    
    OPTIONS:
            --config <config>     [default: /etc/below/below.conf]
    
    SUBCOMMANDS:
        debug     Debugging facilities (for development use)
        dump      Dump historical data into parseable text format
        help      Prints this message or the help of the given subcommand(s)
        live      Display live system data (interactive) (default)
        record    Record local system data (daemon mode)
        replay    Replay historical data (interactive)
    ➜  below git:(main) ✗ sudo ./target/release/below --debug
    libbpf: loading object 'exitstat_bpf' from buffer
    libbpf: elf: section(3) tracepoint/sched/sched_process_exit, size 1664, link 0, flags 6, type=1
    Sep 28 09:20:54.531 ERRO %  
    

    I have also tried cleaning up with cargo clean -p below and did cargo build --release again but still the same issue.

    Are there anything I am missing ?

    opened by yelinaung 1
  • build failed

    build failed

    I tried to build it, but this error happened.

      error: unknown proxy name: 'rustfmt'; valid proxy names are 'rustc', 'rustdoc', 'cargo', 'rust-lldb', 'rust-gdb', 'rls', 'cargo-clippy', 'clippy-driver', 'cargo-miri'
      thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Generate("Failed to generate skeleton for /tmp/.tmpHkN52W/exitstat.o: Broken pipe (os error 32)")', below/build.rs:19:47
    
    opened by nnovikov 5
Owner
Facebook Incubator
We work hard to contribute our work back to the web, mobile, big data, & infrastructure communities. NB: members must have two-factor auth.
Facebook Incubator
Rust crate for creating beautiful interactive Chord Diagrams

Chord PRO Released Chord PRO is the full-featured chord visualization API, producing beautiful interactive visualizations, e.g. those featured on the

Dr. Shahin Rostami 25 Sep 10, 2022
Vector is a high-performance, end-to-end (agent & aggregator) observability data pipeline that puts you in control of your observability data

Quickstart • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabilit

Vector 11.9k Dec 2, 2022
binocle is a graphical tool to visualize binary data

a graphical tool to visualize binary data

David Peter 764 Nov 23, 2022
A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀

Plotters - A Rust drawing library focus on data plotting for both WASM and native applications ?? ?? ?? Plotters is drawing library designed for rende

Hao Hou 2.6k Dec 5, 2022
📝 Web-based, reactive Datalog notebooks for data analysis and visualization

?? Web-based, reactive Datalog notebooks for data analysis and visualization

Eric Zhang 478 Dec 4, 2022
Data plotting library for Rust

plotlib plotlib is a generic data visualisation and plotting library for Rust. It is currently in the very early stages of development. It can current

Matt Williams 411 Nov 26, 2022
A library of to show data (in browser, evcxr_jupyter) as table, chart...

showata A library of to show data (in browser, evcxr_jupyter) as table, chart.... The crate provides display for: image vector and slice (as table) nd

Procyon 19 Sep 21, 2022
A small charting/visualization tool and partial vega implementation for Rust

Gust A charting library for rust! Disclaimer This is still very much a work in progress! APIs are very unstable and subject to change. Contributions a

Samuel Resendez 128 Oct 14, 2022
A color-coded visualization tool for the instructions of an anchor program

anchor-viz A color-coded visualization tool for the instructions of an anchor program. (This is a schematic of basic-2 from anchor's examples/tutorial

cavemanloverboy 5 Oct 15, 2022
KDash - A fast and simple dashboard for Kubernetes

KDash - A fast and simple dashboard for Kubernetes

null 881 Dec 2, 2022
🌱 Easy to use, blazing-fast, and reliable Chia plot manager for your farm

?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? UNDER DEVELOPME

Daniel De Lucca 8 May 31, 2022
Swash is a pure Rust, cross-platform crate that provides font introspection, complex text shaping and glyph rendering.

Swash is a pure Rust, cross-platform crate that provides font introspection, complex text shaping and glyph rendering. Goals This crate aims to

Chad Brokaw 384 Nov 29, 2022
This is an implementation of an Iced backend for Plotters, for both native and wasm applications.

plotters-iced This is an implementation of an Iced backend for Plotters, for both native and wasm applications. This backend has been optimized as for

joylei 52 Dec 4, 2022
gstats — command line tool to print a developer handy summary of all git repositories below current directory

gstats Simple Rust tool to get quick summary info on git repos showing latest tag, branch, state. I implemented this to help me work with a the not to

Boon at Shift 12 Jun 10, 2021
✨ sleek typing tui with visualized results and historical logging

thokr ✨ sleek typing tui with visualized results and historical logging Usage For detailed usage run thokr -h. thokr 0.4.1 sleek typing tui with visua

colby thomas 436 Nov 12, 2022
This library provides a data view for reading and writing data in a byte array.

Docs This library provides a data view for reading and writing data in a byte array. This library requires feature(generic_const_exprs) to be enabled.

null 2 Nov 2, 2022
📸 Voting Escrow Snapshots: Historical snapshots of previous voting escrow balances.

snapshots Voting Escrow Snapshots: Historical snapshots of previous voting escrow balances. Motivation There are several instances in which one may wa

Saber 13 Jun 7, 2022
Fill Apache Arrow record batches from an ODBC data source in Rust.

arrow-odbc Fill Apache Arrow arrays from ODBC data sources. This crate is build on top of the arrow and odbc-api crate and enables you to read the dat

Markus Klein 21 Dec 2, 2022
Record and Replay Framework

Overview rr is a lightweight tool for recording, replaying and debugging execution of applications (trees of processes and threads). Debugging extends

null 7.5k Nov 30, 2022