Skip to content
kofemannPublic

About

This project provides eBPF-based tracing tools and recipes for monitoring and analyzing NFS/PNFS operations.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

eBPF-based tracing for NFS

This project provides eBPF-based tracing tools and recipes for monitoring and analyzing NFS/PNFS operations.

The scripts are handwritten with LLM assistance to trace real production issues.

Requirements

To run the eBPF-based tracing tools, you need to have the bpftrace package installed.

Note: You need to have root privileges to run the eBPF-based tracing tools.

Kernel modules

All scripts are tested under RHEL 9.8.

The scripts use tracepoints inside the NFS kernel modules. If a module is not loaded (yet), its probes do not exist and the script fails to start. Load the required modules before running a script:

modprobe -a sunrpc nfs nfsv4 nfs_layout_flexfiles
bpftrace -l 'tracepoint:nfs4:*'
bpftrace -l 'kprobe:nfs4_ff_layout_prepare_ds'

Contributing

This project uses the linux kernel model where git is not only source repository, but also the way to track contributions and copyrights.

Each submitted patch must have a "Signed-off-by" line. Patches without this line will not be accepted.

The sign-off is a simple line at the end of the explanation for the patch, which certifies that you wrote it or otherwise have the right to pass it on as an open-source patch. The rules are pretty simple: if you can certify the below:

    Developer's Certificate of Origin 1.1

    By making a contribution to this project, I certify that:

    (a) The contribution was created in whole or in part by me and I
         have the right to submit it under the open source license
         indicated in the file; or

    (b) The contribution is based upon previous work that, to the best
        of my knowledge, is covered under an appropriate open source
        license and I have the right under that license to submit that
        work with modifications, whether created in whole or in part
        by me, under the same open source license (unless I am
        permitted to submit under a different license), as indicated
        in the file; or

    (c) The contribution was provided directly to me by some other
        person who certified (a), (b) or (c) and I have not modified
        it.

    (d) I understand and agree that this project and the contribution
        are public and that a record of the contribution (including all
        personal information I submit with it, including my sign-off) is
        maintained indefinitely and may be redistributed consistent with
        this project or the open source license(s) involved.

License

This project is licensed under the GPLv2.

About

This project provides eBPF-based tracing tools and recipes for monitoring and analyzing NFS/PNFS operations.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors