axcient / freebsd-nfs-exporter Goto Github PK
View Code? Open in Web Editor NEWPrometheus exporter for FreeBSD NFS stats
License: Apache License 2.0
Prometheus exporter for FreeBSD NFS stats
License: Apache License 2.0
Hey!
I think I stumbled upon an interesting behavior in the NFS exporter.
To provide you with some background, I am collecting NFS duration stats on my NFS server. Then I use those duration stats to calculate the latency in Grafana.
What I see is that sometimes the reported latency is unbelievably large (minutes instead of milliseconds):
I calculate the latency like this:
(sum without (method) (rate(nfs_nfsd_total_duration[$__rate_interval])) / rate(nfs_nfsd_done_count[$__rate_interval])) / 1000 / 1000
which I modeled after the C code from nfsstat:
*ms_per_transfer = DELTA_T(srvduration[curop]);
*ms_per_transfer /= total_operations;
*ms_per_transfer *= 1000;
When I took a look at the actual values, I noticed that sometimes the duration
counter decreases:
2023-06-06 07:50:45.000
28072724885384316
2023-06-06 07:50:50.000
28072724887013588
2023-06-06 07:50:55.000
28072725009863908
^
2023-06-06 07:51:00.000
28072725000875584
^ Less than before
2023-06-06 07:51:05.000
28072725017900904
2023-06-06 07:51:10.000
28072725242506450
2023-06-06 07:51:15.000
28072725252723510
I am still tracking down what causes this behavior. This could be the exporter, nfsstat, or even the kernel.
If you have any ideas or pointers, I'm all ears. Thanks!
It doesn't need to say much, but this utility ought to have its own man page.
Hello, thank you for this project.
I'm looking to run this on an IPv6 address, but I get the following. May I request IPv6 support for this project please?
$ nfs-exporter -b "::0" -p 11111
thread 'main' panicked at 'can not parse listen addr: AddrParseError(())', src/main.rs:64:45
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.