Browse Source

NFSd: handle new wdeleg_getattr attribute in /proc/net/rpc/nfsd (#2810)

This attribute was introduced it v6.6-rc1.

The relevant changes in procfs were merged here:

https://github.com/prometheus/procfs/pull/574

and are part of procfs v0.11.2

I have also figured out that the stat should be part of the v4 ops
counters struct, but that will need changes to both procfs and this
code. Since people are already using 6.6-rc1, I think it's better to get
the code out there --- even if they don't care about wdeleg_getattr,
currently they get _no_ nfsd stats with 6.6-rc1.

I will make two follow-up PRs to clean this up in the next releases of
procfs and node-exporter.

Signed-off-by: Tobias Klausmann <klausman@schwarzvogel.de>
pull/2850/head
Tobias Klausmann 1 year ago committed by GitHub
parent
commit
78af952e63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      collector/fixtures/e2e-64k-page-output.txt
  2. 1
      collector/fixtures/e2e-output.txt
  3. 1
      collector/fixtures/proc/net/rpc/nfsd
  4. 2
      collector/nfsd_linux.go

1
collector/fixtures/e2e-64k-page-output.txt

@ -2743,6 +2743,7 @@ node_nfsd_requests_total{method="SetClientIDConfirm",proto="4"} 3
node_nfsd_requests_total{method="SymLink",proto="2"} 0
node_nfsd_requests_total{method="SymLink",proto="3"} 0
node_nfsd_requests_total{method="Verify",proto="4"} 0
node_nfsd_requests_total{method="WdelegGetattr",proto="4"} 15
node_nfsd_requests_total{method="WrCache",proto="2"} 0
node_nfsd_requests_total{method="Write",proto="2"} 0
node_nfsd_requests_total{method="Write",proto="3"} 0

1
collector/fixtures/e2e-output.txt

@ -2765,6 +2765,7 @@ node_nfsd_requests_total{method="SetClientIDConfirm",proto="4"} 3
node_nfsd_requests_total{method="SymLink",proto="2"} 0
node_nfsd_requests_total{method="SymLink",proto="3"} 0
node_nfsd_requests_total{method="Verify",proto="4"} 0
node_nfsd_requests_total{method="WdelegGetattr",proto="4"} 15
node_nfsd_requests_total{method="WrCache",proto="2"} 0
node_nfsd_requests_total{method="Write",proto="2"} 0
node_nfsd_requests_total{method="Write",proto="3"} 0

1
collector/fixtures/proc/net/rpc/nfsd

@ -9,3 +9,4 @@ proc2 18 2 69 0 0 4410 0 0 0 0 0 0 0 0 0 0 0 99 2
proc3 22 2 112 0 2719 111 0 0 0 0 0 0 0 0 0 0 0 27 216 0 2 1 0
proc4 2 2 10853
proc4ops 72 0 0 0 1098 2 0 0 0 0 8179 5896 0 0 0 0 5900 0 0 2 0 2 0 9609 0 2 150 1272 0 0 0 1236 0 0 0 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
wdeleg_getattr 15

2
collector/nfsd_linux.go

@ -82,6 +82,8 @@ func (c *nfsdCollector) Update(ch chan<- prometheus.Metric) error {
c.updateNFSdRequestsv2Stats(ch, &stats.V2Stats)
c.updateNFSdRequestsv3Stats(ch, &stats.V3Stats)
c.updateNFSdRequestsv4Stats(ch, &stats.V4Ops)
ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue,
float64(stats.WdelegGetattr), "4", "WdelegGetattr")
return nil
}

Loading…
Cancel
Save