notify VS perf-tools

Compare notify vs perf-tools and see what are their differences.

notify

đź”­ Cross-platform filesystem notification library for Rust. (by notify-rs)

perf-tools

Performance analysis tools based on Linux perf_events (aka perf) and ftrace (by brendangregg)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
notify perf-tools
10 6
2,505 9,594
3.4% -
8.0 0.0
11 days ago 5 months ago
Rust Shell
GNU General Public License v3.0 or later GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

notify

Posts with mentions or reviews of notify. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-04.
  • Needing Additional Inputs on an Implementation of an Asset Manager with Hot Reloading Support
    1 project | /r/rust | 8 Aug 2023
    To support hot reloading, the asset manager definitely has to have some watcher thread, but I have that part dealt with already since I have decided to utilize notify. The other half is to find a way to reload all assets that have changes as determined by the watcher thread. What I am not sure about is how to implement this in a Rustic fashion and with clean architecture while also considering the fact that asset pointers may be held by other objects (such as an object representing an OpenGL program object).
  • FIM v0.4.6 - Realtime File monitoring tool
    2 projects | /r/rust | 4 May 2023
    It is a great question. We have based the development on a library called notify, kudos to https://github.com/notify-rs/notify. This library adds a layer of abstraction to each system. It implements kernel-specific hooks as you mentioned. In some cases like Audit extended data, we have developed an integration that detects changes on the Audit log file and processes the given information including a lot of information into Linux systems. We have plans to include it in Windows as well.
  • Building a static site generator in 100 lines of Rust
    5 projects | dev.to | 19 Sep 2022
    In order to detect files changes, we use hotwatch, a simple wrapper over notify that will allow us to save a few lines.
  • Let Rust detect changes in the Markdown file and generate HTML.
    3 projects | dev.to | 11 Apr 2022
  • Track what process modify file
    2 projects | /r/rust | 25 Mar 2022
    The notify crate uses the inotify API on Linux. However, it's probably not what you want, since one of its limitations is:
  • Hey Rustaceans! Got an easy question? Ask here (48/2021)!
    5 projects | /r/rust | 29 Nov 2021
    If you want to build this yourself, you'll want to build on something like notify - there are libraries like linemux built on top of it that will do a lot of this for you too.
  • Async file watcher, like notify-rs
    1 project | /r/rust | 12 Oct 2021
    Hey rust community, I'm currently writing a small app using Tokio, but running into a problem when trying to add a file watcher to it. I looked into available crates and found https://github.com/notify-rs/notify to be a good option, though it only exposes a sync interface.
  • Effectively monitoring very large number of files
    2 projects | /r/rust | 21 Aug 2021
    I'm most well versed in Python so I started with that and eventually ended up with a POC using watchdog, but the program took more than a day and a half to traverse everything and register all of the watches. I've been trying to learn Rust for a while, and decided to perhaps use this as an excuse to try something 'real' and not just a learning exercise. I found the notify crate (https://github.com/notify-rs/notify) and basically copied their example listed on their GitHub, but even this takes about 16-18 hours to place all the watches before it starts processing events. I did not see any obvious ways to enable asynchronous or async/await code in notify, so I don't know of a way to parallelize the disk I/O with this approach.
  • Proper way of reading a constantly mutating file?
    1 project | /r/rust | 1 Mar 2021
    The notify crate is probably what you're looking for. It uses inotify on linux by default.
  • Notify: Cross-platform filesystem notification library for Rust
    1 project | news.ycombinator.com | 23 Feb 2021

perf-tools

Posts with mentions or reviews of perf-tools. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-30.
  • The Gems of Moreutils
    5 projects | news.ycombinator.com | 30 Dec 2023
    For execsnoop, people running systems with DTrace can find the same:

    * https://github.com/jorgev/dtrace-scripts/blob/master/execsno...

    On macOS Monterey+ you'll probably have to install the Kernel Debug Kit per:

    * https://developer.apple.com/forums/thread/692444

    The Linux variant was written Brendan Gregg (who previous did a lot of work on Solaris, where DTrace was created):

    * https://github.com/brendangregg/perf-tools/blob/master/execs...

  • LINUX TOOLS PERFORMANCE for us !
    1 project | /r/linux4noobs | 22 Jun 2023
    by https://github.com/brendangregg/perf-tools
  • Track what process modify file
    2 projects | /r/rust | 25 Mar 2022
    It's not a library you can use but you might be able to take inspiration from something like opensnoop.
  • Does any one know how to make perf in wsl2, show the info like Cycles, Instructionis.
    2 projects | /r/wsl2 | 25 Feb 2022
    There are several tools that might go by the name 'perf', are you talking about this one? https://github.com/brendangregg/perf-tools
  • Which kernel functions are called upon page cache accesses?
    1 project | /r/linuxquestions | 16 Nov 2021
    I have an application and I'd like to measure its page cache hit/miss numbers. I found this tool called cachestat by Brendan Gregg, which uses the ftrace tool to count the number of 4 specific functions (mark_page_accessed(), mark_buffer_dirty(), add_to_page_cache_lru(), and account_page_dirtied()) to find out the total number of page cache accesses and page cache misses. Detailed information can be found here, but basically, total number of page cache accesses and page cache misses can be calculated as below:
  • Using Distributed Tracing in Microservices Architecture
    9 projects | dev.to | 14 May 2021
    Program(Process) Tracing (ptrace) Tools: Establishes tracing operation during the execution of the application. Contains the traces of the index of instructions executed and the data referenced during execution. These are greatly used by developers for debugging purposes. Some examples of ptrace tools are, Strace, Ltrace, Opensnoop, and Valgrind Lackey.

What are some alternatives?

When comparing notify and perf-tools you can also consider the following projects:

rust-fuse - Rust library for filesystems in userspace (FUSE)

mitmproxy - An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

fd - A simple, fast and user-friendly alternative to 'find'

Sysdig - Linux system exploration and troubleshooting tool with first class support for containers

linemux - Asynchronous tailing library in Rust

strace - strace is a diagnostic, debugging and instructional userspace utility for Linux

redbpf - Rust library for building and running BPF/eBPF modules

mtr - Official repository for mtr, a network diagnostic tool

path_abs - ergonomic paths and files in rust

httpstat - curl statistics made simple

dutree - a tool to analyze file system usage written in Rust

grml - Grmls core configuration files for zsh, vim, screen…