aboutsummaryrefslogtreecommitdiff
path: root/collector
diff options
context:
space:
mode:
authorBen Kochie <superq@gmail.com>2018-02-21 07:25:41 +0100
committerGitHub <noreply@github.com>2018-02-21 07:25:41 +0100
commite0d54a509cd60a7cb3c226edd771f9d9f63a8127 (patch)
tree16c19de3ec0c43257908c5718ed4d22bf9f4c65b /collector
parent6fc06e82888ef2afd8ae6570d93d8a56d3898db9 (diff)
downloadprometheus_node_collector-e0d54a509cd60a7cb3c226edd771f9d9f63a8127.tar.bz2
prometheus_node_collector-e0d54a509cd60a7cb3c226edd771f9d9f63a8127.tar.xz
prometheus_node_collector-e0d54a509cd60a7cb3c226edd771f9d9f63a8127.zip
Cleanup NFS metrics (#834)
* Cleanup NFS metrics * Update `nfs` metric names to match `nfsd`. * Remove uneeded `tcp` label from TCP connections metric. * Remove uneeded `v` on `nfsd` metrics. * Enable all `nfs` v4 client metrics. * Remove `nfs` metric name overrides. * Add ppc64le fixture. * Fix typo.
Diffstat (limited to 'collector')
-rw-r--r--collector/fixtures/e2e-output.txt355
-rw-r--r--collector/fixtures/e2e-ppc64le-output.txt355
-rw-r--r--collector/nfs_linux.go71
-rw-r--r--collector/nfsd_linux.go8
4 files changed, 383 insertions, 406 deletions
diff --git a/collector/fixtures/e2e-output.txt b/collector/fixtures/e2e-output.txt
index a7c1e2a..26ac840 100644
--- a/collector/fixtures/e2e-output.txt
+++ b/collector/fixtures/e2e-output.txt
@@ -2449,112 +2449,123 @@ node_nf_conntrack_entries 123
2449# HELP node_nf_conntrack_entries_limit Maximum size of connection tracking table. 2449# HELP node_nf_conntrack_entries_limit Maximum size of connection tracking table.
2450# TYPE node_nf_conntrack_entries_limit gauge 2450# TYPE node_nf_conntrack_entries_limit gauge
2451node_nf_conntrack_entries_limit 65536 2451node_nf_conntrack_entries_limit 65536
2452# HELP node_nfs_net_connections_total Number of connections at the network layer. 2452# HELP node_nfs_connections_total Total number of NFSd TCP connections.
2453# TYPE node_nfs_net_connections_total counter 2453# TYPE node_nfs_connections_total counter
2454node_nfs_net_connections_total{protocol="tcp"} 45 2454node_nfs_connections_total 45
2455# HELP node_nfs_net_reads_total Number of reads at the network layer. 2455# HELP node_nfs_packets_total Total NFSd network packets (sent+received) by protocol type.
2456# TYPE node_nfs_net_reads_total counter 2456# TYPE node_nfs_packets_total counter
2457node_nfs_net_reads_total{protocol="tcp"} 69 2457node_nfs_packets_total{protocol="tcp"} 69
2458node_nfs_net_reads_total{protocol="udp"} 70 2458node_nfs_packets_total{protocol="udp"} 70
2459# HELP node_nfs_procedures_total Number of NFS procedures invoked. 2459# HELP node_nfs_requests_total Number of NFS procedures invoked.
2460# TYPE node_nfs_procedures_total counter 2460# TYPE node_nfs_requests_total counter
2461node_nfs_procedures_total{procedure="access",version="3"} 1.17661341e+08 2461node_nfs_requests_total{method="Access",proto="3"} 1.17661341e+08
2462node_nfs_procedures_total{procedure="access",version="4"} 58 2462node_nfs_requests_total{method="Access",proto="4"} 58
2463node_nfs_procedures_total{procedure="close",version="4"} 28 2463node_nfs_requests_total{method="Allocate",proto="4"} 0
2464node_nfs_procedures_total{procedure="commit",version="3"} 23729 2464node_nfs_requests_total{method="BindConnToSession",proto="4"} 0
2465node_nfs_procedures_total{procedure="commit",version="4"} 83 2465node_nfs_requests_total{method="Clone",proto="4"} 0
2466node_nfs_procedures_total{procedure="create",version="2"} 52 2466node_nfs_requests_total{method="Close",proto="4"} 28
2467node_nfs_procedures_total{procedure="create",version="3"} 2.993289e+06 2467node_nfs_requests_total{method="Commit",proto="3"} 23729
2468node_nfs_procedures_total{procedure="create",version="4"} 15 2468node_nfs_requests_total{method="Commit",proto="4"} 83
2469node_nfs_procedures_total{procedure="create_session",version="4"} 32 2469node_nfs_requests_total{method="Create",proto="2"} 52
2470node_nfs_procedures_total{procedure="delegreturn",version="4"} 97 2470node_nfs_requests_total{method="Create",proto="3"} 2.993289e+06
2471node_nfs_procedures_total{procedure="destroy_session",version="4"} 67 2471node_nfs_requests_total{method="Create",proto="4"} 15
2472node_nfs_procedures_total{procedure="exchange_id",version="4"} 58 2472node_nfs_requests_total{method="CreateSession",proto="4"} 32
2473node_nfs_procedures_total{procedure="fs_locations",version="4"} 32 2473node_nfs_requests_total{method="DeAllocate",proto="4"} 0
2474node_nfs_procedures_total{procedure="fsid_present",version="4"} 11 2474node_nfs_requests_total{method="DelegReturn",proto="4"} 97
2475node_nfs_procedures_total{procedure="fsinfo",version="3"} 2 2475node_nfs_requests_total{method="DestroyClientId",proto="4"} 0
2476node_nfs_procedures_total{procedure="fsinfo",version="4"} 68 2476node_nfs_requests_total{method="DestroySession",proto="4"} 67
2477node_nfs_procedures_total{procedure="fsstat",version="3"} 13332 2477node_nfs_requests_total{method="ExchangeId",proto="4"} 58
2478node_nfs_procedures_total{procedure="get_lease_time",version="4"} 28 2478node_nfs_requests_total{method="FreeStateId",proto="4"} 0
2479node_nfs_procedures_total{procedure="getacl",version="4"} 36 2479node_nfs_requests_total{method="FsInfo",proto="3"} 2
2480node_nfs_procedures_total{procedure="getattr",version="2"} 57 2480node_nfs_requests_total{method="FsInfo",proto="4"} 68
2481node_nfs_procedures_total{procedure="getattr",version="3"} 1.061909262e+09 2481node_nfs_requests_total{method="FsLocations",proto="4"} 32
2482node_nfs_procedures_total{procedure="getattr",version="4"} 88 2482node_nfs_requests_total{method="FsStat",proto="2"} 82
2483node_nfs_procedures_total{procedure="getdeviceinfo",version="4"} 1 2483node_nfs_requests_total{method="FsStat",proto="3"} 13332
2484node_nfs_procedures_total{procedure="layoutcommit",version="4"} 26 2484node_nfs_requests_total{method="FsidPresent",proto="4"} 11
2485node_nfs_procedures_total{procedure="layoutget",version="4"} 90 2485node_nfs_requests_total{method="GetAcl",proto="4"} 36
2486node_nfs_procedures_total{procedure="layoutreturn",version="4"} 0 2486node_nfs_requests_total{method="GetAttr",proto="2"} 57
2487node_nfs_procedures_total{procedure="link",version="2"} 17 2487node_nfs_requests_total{method="GetAttr",proto="3"} 1.061909262e+09
2488node_nfs_procedures_total{procedure="link",version="3"} 0 2488node_nfs_requests_total{method="GetDeviceInfo",proto="4"} 1
2489node_nfs_procedures_total{procedure="link",version="4"} 21 2489node_nfs_requests_total{method="GetDeviceList",proto="4"} 0
2490node_nfs_procedures_total{procedure="lock",version="4"} 39 2490node_nfs_requests_total{method="GetLeaseTime",proto="4"} 28
2491node_nfs_procedures_total{procedure="lockt",version="4"} 68 2491node_nfs_requests_total{method="Getattr",proto="4"} 88
2492node_nfs_procedures_total{procedure="locku",version="4"} 59 2492node_nfs_requests_total{method="LayoutCommit",proto="4"} 26
2493node_nfs_procedures_total{procedure="lookup",version="2"} 71 2493node_nfs_requests_total{method="LayoutGet",proto="4"} 90
2494node_nfs_procedures_total{procedure="lookup",version="3"} 4.077635e+06 2494node_nfs_requests_total{method="LayoutReturn",proto="4"} 0
2495node_nfs_procedures_total{procedure="lookup",version="4"} 29 2495node_nfs_requests_total{method="LayoutStats",proto="4"} 0
2496node_nfs_procedures_total{procedure="lookup_root",version="4"} 74 2496node_nfs_requests_total{method="Link",proto="2"} 17
2497node_nfs_procedures_total{procedure="mkdir",version="2"} 50 2497node_nfs_requests_total{method="Link",proto="3"} 0
2498node_nfs_procedures_total{procedure="mkdir",version="3"} 590 2498node_nfs_requests_total{method="Link",proto="4"} 21
2499node_nfs_procedures_total{procedure="mknod",version="3"} 0 2499node_nfs_requests_total{method="Lock",proto="4"} 39
2500node_nfs_procedures_total{procedure="null",version="2"} 16 2500node_nfs_requests_total{method="Lockt",proto="4"} 68
2501node_nfs_procedures_total{procedure="null",version="3"} 0 2501node_nfs_requests_total{method="Locku",proto="4"} 59
2502node_nfs_procedures_total{procedure="null",version="4"} 98 2502node_nfs_requests_total{method="Lookup",proto="2"} 71
2503node_nfs_procedures_total{procedure="open",version="4"} 85 2503node_nfs_requests_total{method="Lookup",proto="3"} 4.077635e+06
2504node_nfs_procedures_total{procedure="open_confirm",version="4"} 23 2504node_nfs_requests_total{method="Lookup",proto="4"} 29
2505node_nfs_procedures_total{procedure="open_downgrade",version="4"} 1 2505node_nfs_requests_total{method="LookupRoot",proto="4"} 74
2506node_nfs_procedures_total{procedure="open_noattr",version="4"} 24 2506node_nfs_requests_total{method="MkDir",proto="2"} 50
2507node_nfs_procedures_total{procedure="pathconf",version="3"} 1 2507node_nfs_requests_total{method="MkDir",proto="3"} 590
2508node_nfs_procedures_total{procedure="pathconf",version="4"} 53 2508node_nfs_requests_total{method="MkNod",proto="3"} 0
2509node_nfs_procedures_total{procedure="read",version="2"} 45 2509node_nfs_requests_total{method="Null",proto="2"} 16
2510node_nfs_procedures_total{procedure="read",version="3"} 2.9391916e+07 2510node_nfs_requests_total{method="Null",proto="3"} 0
2511node_nfs_procedures_total{procedure="read",version="4"} 51 2511node_nfs_requests_total{method="Null",proto="4"} 98
2512node_nfs_procedures_total{procedure="readdir",version="2"} 70 2512node_nfs_requests_total{method="Open",proto="4"} 85
2513node_nfs_procedures_total{procedure="readdir",version="3"} 3983 2513node_nfs_requests_total{method="OpenConfirm",proto="4"} 23
2514node_nfs_procedures_total{procedure="readdir",version="4"} 66 2514node_nfs_requests_total{method="OpenDowngrade",proto="4"} 1
2515node_nfs_procedures_total{procedure="readdirplus",version="3"} 92385 2515node_nfs_requests_total{method="OpenNoattr",proto="4"} 24
2516node_nfs_procedures_total{procedure="readlink",version="2"} 73 2516node_nfs_requests_total{method="PathConf",proto="3"} 1
2517node_nfs_procedures_total{procedure="readlink",version="3"} 5 2517node_nfs_requests_total{method="Pathconf",proto="4"} 53
2518node_nfs_procedures_total{procedure="readlink",version="4"} 54 2518node_nfs_requests_total{method="Read",proto="2"} 45
2519node_nfs_procedures_total{procedure="reclaim_complete",version="4"} 35 2519node_nfs_requests_total{method="Read",proto="3"} 2.9391916e+07
2520node_nfs_procedures_total{procedure="release_lockowner",version="4"} 85 2520node_nfs_requests_total{method="Read",proto="4"} 51
2521node_nfs_procedures_total{procedure="remove",version="2"} 83 2521node_nfs_requests_total{method="ReadDir",proto="2"} 70
2522node_nfs_procedures_total{procedure="remove",version="3"} 7815 2522node_nfs_requests_total{method="ReadDir",proto="3"} 3983
2523node_nfs_procedures_total{procedure="remove",version="4"} 69 2523node_nfs_requests_total{method="ReadDir",proto="4"} 66
2524node_nfs_procedures_total{procedure="rename",version="2"} 61 2524node_nfs_requests_total{method="ReadDirPlus",proto="3"} 92385
2525node_nfs_procedures_total{procedure="rename",version="3"} 1130 2525node_nfs_requests_total{method="ReadLink",proto="2"} 73
2526node_nfs_procedures_total{procedure="rename",version="4"} 96 2526node_nfs_requests_total{method="ReadLink",proto="3"} 5
2527node_nfs_procedures_total{procedure="renew",version="4"} 83 2527node_nfs_requests_total{method="ReadLink",proto="4"} 54
2528node_nfs_procedures_total{procedure="rmdir",version="2"} 23 2528node_nfs_requests_total{method="ReclaimComplete",proto="4"} 35
2529node_nfs_procedures_total{procedure="rmdir",version="3"} 15 2529node_nfs_requests_total{method="ReleaseLockowner",proto="4"} 85
2530node_nfs_procedures_total{procedure="root",version="2"} 52 2530node_nfs_requests_total{method="Remove",proto="2"} 83
2531node_nfs_procedures_total{procedure="secinfo",version="4"} 81 2531node_nfs_requests_total{method="Remove",proto="3"} 7815
2532node_nfs_procedures_total{procedure="sequence",version="4"} 13 2532node_nfs_requests_total{method="Remove",proto="4"} 69
2533node_nfs_procedures_total{procedure="server_caps",version="4"} 56 2533node_nfs_requests_total{method="Rename",proto="2"} 61
2534node_nfs_procedures_total{procedure="setacl",version="4"} 49 2534node_nfs_requests_total{method="Rename",proto="3"} 1130
2535node_nfs_procedures_total{procedure="setattr",version="2"} 74 2535node_nfs_requests_total{method="Rename",proto="4"} 96
2536node_nfs_procedures_total{procedure="setattr",version="3"} 48906 2536node_nfs_requests_total{method="Renew",proto="4"} 83
2537node_nfs_procedures_total{procedure="setattr",version="4"} 73 2537node_nfs_requests_total{method="RmDir",proto="2"} 23
2538node_nfs_procedures_total{procedure="setclientid",version="4"} 12 2538node_nfs_requests_total{method="RmDir",proto="3"} 15
2539node_nfs_procedures_total{procedure="setclientid_confirm",version="4"} 84 2539node_nfs_requests_total{method="Root",proto="2"} 52
2540node_nfs_procedures_total{procedure="statfs",version="2"} 82 2540node_nfs_requests_total{method="Secinfo",proto="4"} 81
2541node_nfs_procedures_total{procedure="statfs",version="4"} 86 2541node_nfs_requests_total{method="SecinfoNoName",proto="4"} 0
2542node_nfs_procedures_total{procedure="symlink",version="2"} 53 2542node_nfs_requests_total{method="Seek",proto="4"} 0
2543node_nfs_procedures_total{procedure="symlink",version="3"} 0 2543node_nfs_requests_total{method="Sequence",proto="4"} 13
2544node_nfs_procedures_total{procedure="symlink",version="4"} 84 2544node_nfs_requests_total{method="ServerCaps",proto="4"} 56
2545node_nfs_procedures_total{procedure="write",version="2"} 0 2545node_nfs_requests_total{method="SetAcl",proto="4"} 49
2546node_nfs_procedures_total{procedure="write",version="3"} 2.570425e+06 2546node_nfs_requests_total{method="SetAttr",proto="2"} 74
2547node_nfs_procedures_total{procedure="write",version="4"} 54 2547node_nfs_requests_total{method="SetAttr",proto="3"} 48906
2548node_nfs_procedures_total{procedure="writecache",version="2"} 86 2548node_nfs_requests_total{method="SetClientId",proto="4"} 12
2549node_nfs_requests_total{method="SetClientIdConfirm",proto="4"} 84
2550node_nfs_requests_total{method="Setattr",proto="4"} 73
2551node_nfs_requests_total{method="StatFs",proto="4"} 86
2552node_nfs_requests_total{method="SymLink",proto="2"} 53
2553node_nfs_requests_total{method="SymLink",proto="3"} 0
2554node_nfs_requests_total{method="Symlink",proto="4"} 84
2555node_nfs_requests_total{method="TestStateId",proto="4"} 0
2556node_nfs_requests_total{method="WrCache",proto="2"} 86
2557node_nfs_requests_total{method="Write",proto="2"} 0
2558node_nfs_requests_total{method="Write",proto="3"} 2.570425e+06
2559node_nfs_requests_total{method="Write",proto="4"} 54
2549# HELP node_nfs_rpc_authentication_refreshes_total Number of RPC authentication refreshes performed. 2560# HELP node_nfs_rpc_authentication_refreshes_total Number of RPC authentication refreshes performed.
2550# TYPE node_nfs_rpc_authentication_refreshes_total counter 2561# TYPE node_nfs_rpc_authentication_refreshes_total counter
2551node_nfs_rpc_authentication_refreshes_total 1.218815394e+09 2562node_nfs_rpc_authentication_refreshes_total 1.218815394e+09
2552# HELP node_nfs_rpc_operations_total Number of RPCs performed.
2553# TYPE node_nfs_rpc_operations_total counter
2554node_nfs_rpc_operations_total 1.218785755e+09
2555# HELP node_nfs_rpc_retransmissions_total Number of RPC transmissions performed. 2563# HELP node_nfs_rpc_retransmissions_total Number of RPC transmissions performed.
2556# TYPE node_nfs_rpc_retransmissions_total counter 2564# TYPE node_nfs_rpc_retransmissions_total counter
2557node_nfs_rpc_retransmissions_total 374636 2565node_nfs_rpc_retransmissions_total 374636
2566# HELP node_nfs_rpcs_total Total number of RPCs performed.
2567# TYPE node_nfs_rpcs_total counter
2568node_nfs_rpcs_total 1.218785755e+09
2558# HELP node_nfsd_connections_total Total number of NFSd TCP connections. 2569# HELP node_nfsd_connections_total Total number of NFSd TCP connections.
2559# TYPE node_nfsd_connections_total counter 2570# TYPE node_nfsd_connections_total counter
2560node_nfsd_connections_total 1 2571node_nfsd_connections_total 1
@@ -2567,7 +2578,7 @@ node_nfsd_disk_bytes_written_total 72864
2567# HELP node_nfsd_file_handles_stale_total Total number of NFSd stale file handles 2578# HELP node_nfsd_file_handles_stale_total Total number of NFSd stale file handles
2568# TYPE node_nfsd_file_handles_stale_total counter 2579# TYPE node_nfsd_file_handles_stale_total counter
2569node_nfsd_file_handles_stale_total 0 2580node_nfsd_file_handles_stale_total 0
2570# HELP node_nfsd_packets_total Total NFSd network packets (sent+recieved) by protocol type. 2581# HELP node_nfsd_packets_total Total NFSd network packets (sent+received) by protocol type.
2571# TYPE node_nfsd_packets_total counter 2582# TYPE node_nfsd_packets_total counter
2572node_nfsd_packets_total{proto="tcp"} 917 2583node_nfsd_packets_total{proto="tcp"} 917
2573node_nfsd_packets_total{proto="udp"} 55 2584node_nfsd_packets_total{proto="udp"} 55
@@ -2588,77 +2599,77 @@ node_nfsd_reply_cache_misses_total 6
2588node_nfsd_reply_cache_nocache_total 18622 2599node_nfsd_reply_cache_nocache_total 18622
2589# HELP node_nfsd_requests_total Total number NFSd Requests by method and protocol. 2600# HELP node_nfsd_requests_total Total number NFSd Requests by method and protocol.
2590# TYPE node_nfsd_requests_total counter 2601# TYPE node_nfsd_requests_total counter
2591node_nfsd_requests_total{method="Access",proto="v3"} 111 2602node_nfsd_requests_total{method="Access",proto="3"} 111
2592node_nfsd_requests_total{method="Access",proto="v4"} 1098 2603node_nfsd_requests_total{method="Access",proto="4"} 1098
2593node_nfsd_requests_total{method="Close",proto="v4"} 2 2604node_nfsd_requests_total{method="Close",proto="4"} 2
2594node_nfsd_requests_total{method="Commit",proto="v3"} 0 2605node_nfsd_requests_total{method="Commit",proto="3"} 0
2595node_nfsd_requests_total{method="Commit",proto="v4"} 0 2606node_nfsd_requests_total{method="Commit",proto="4"} 0
2596node_nfsd_requests_total{method="Create",proto="v2"} 0 2607node_nfsd_requests_total{method="Create",proto="2"} 0
2597node_nfsd_requests_total{method="Create",proto="v3"} 0 2608node_nfsd_requests_total{method="Create",proto="3"} 0
2598node_nfsd_requests_total{method="Create",proto="v4"} 0 2609node_nfsd_requests_total{method="Create",proto="4"} 0
2599node_nfsd_requests_total{method="DelegPurge",proto="v4"} 0 2610node_nfsd_requests_total{method="DelegPurge",proto="4"} 0
2600node_nfsd_requests_total{method="DelegReturn",proto="v4"} 0 2611node_nfsd_requests_total{method="DelegReturn",proto="4"} 0
2601node_nfsd_requests_total{method="FsInfo",proto="v3"} 2 2612node_nfsd_requests_total{method="FsInfo",proto="3"} 2
2602node_nfsd_requests_total{method="FsStat",proto="v2"} 2 2613node_nfsd_requests_total{method="FsStat",proto="2"} 2
2603node_nfsd_requests_total{method="FsStat",proto="v3"} 0 2614node_nfsd_requests_total{method="FsStat",proto="3"} 0
2604node_nfsd_requests_total{method="GetAttr",proto="v2"} 69 2615node_nfsd_requests_total{method="GetAttr",proto="2"} 69
2605node_nfsd_requests_total{method="GetAttr",proto="v3"} 112 2616node_nfsd_requests_total{method="GetAttr",proto="3"} 112
2606node_nfsd_requests_total{method="GetAttr",proto="v4"} 8179 2617node_nfsd_requests_total{method="GetAttr",proto="4"} 8179
2607node_nfsd_requests_total{method="GetFH",proto="v4"} 5896 2618node_nfsd_requests_total{method="GetFH",proto="4"} 5896
2608node_nfsd_requests_total{method="Link",proto="v2"} 0 2619node_nfsd_requests_total{method="Link",proto="2"} 0
2609node_nfsd_requests_total{method="Link",proto="v3"} 0 2620node_nfsd_requests_total{method="Link",proto="3"} 0
2610node_nfsd_requests_total{method="Link",proto="v4"} 0 2621node_nfsd_requests_total{method="Link",proto="4"} 0
2611node_nfsd_requests_total{method="Lock",proto="v4"} 0 2622node_nfsd_requests_total{method="Lock",proto="4"} 0
2612node_nfsd_requests_total{method="Lockt",proto="v4"} 0 2623node_nfsd_requests_total{method="Lockt",proto="4"} 0
2613node_nfsd_requests_total{method="Locku",proto="v4"} 0 2624node_nfsd_requests_total{method="Locku",proto="4"} 0
2614node_nfsd_requests_total{method="Lookup",proto="v2"} 4410 2625node_nfsd_requests_total{method="Lookup",proto="2"} 4410
2615node_nfsd_requests_total{method="Lookup",proto="v3"} 2719 2626node_nfsd_requests_total{method="Lookup",proto="3"} 2719
2616node_nfsd_requests_total{method="Lookup",proto="v4"} 5900 2627node_nfsd_requests_total{method="Lookup",proto="4"} 5900
2617node_nfsd_requests_total{method="LookupRoot",proto="v4"} 0 2628node_nfsd_requests_total{method="LookupRoot",proto="4"} 0
2618node_nfsd_requests_total{method="MkDir",proto="v2"} 0 2629node_nfsd_requests_total{method="MkDir",proto="2"} 0
2619node_nfsd_requests_total{method="MkDir",proto="v3"} 0 2630node_nfsd_requests_total{method="MkDir",proto="3"} 0
2620node_nfsd_requests_total{method="MkNod",proto="v3"} 0 2631node_nfsd_requests_total{method="MkNod",proto="3"} 0
2621node_nfsd_requests_total{method="Nverify",proto="v4"} 0 2632node_nfsd_requests_total{method="Nverify",proto="4"} 0
2622node_nfsd_requests_total{method="Open",proto="v4"} 2 2633node_nfsd_requests_total{method="Open",proto="4"} 2
2623node_nfsd_requests_total{method="OpenAttr",proto="v4"} 0 2634node_nfsd_requests_total{method="OpenAttr",proto="4"} 0
2624node_nfsd_requests_total{method="OpenConfirm",proto="v4"} 2 2635node_nfsd_requests_total{method="OpenConfirm",proto="4"} 2
2625node_nfsd_requests_total{method="OpenDgrd",proto="v4"} 0 2636node_nfsd_requests_total{method="OpenDgrd",proto="4"} 0
2626node_nfsd_requests_total{method="PathConf",proto="v3"} 1 2637node_nfsd_requests_total{method="PathConf",proto="3"} 1
2627node_nfsd_requests_total{method="PutFH",proto="v4"} 9609 2638node_nfsd_requests_total{method="PutFH",proto="4"} 9609
2628node_nfsd_requests_total{method="Read",proto="v2"} 0 2639node_nfsd_requests_total{method="Read",proto="2"} 0
2629node_nfsd_requests_total{method="Read",proto="v3"} 0 2640node_nfsd_requests_total{method="Read",proto="3"} 0
2630node_nfsd_requests_total{method="Read",proto="v4"} 150 2641node_nfsd_requests_total{method="Read",proto="4"} 150
2631node_nfsd_requests_total{method="ReadDir",proto="v2"} 99 2642node_nfsd_requests_total{method="ReadDir",proto="2"} 99
2632node_nfsd_requests_total{method="ReadDir",proto="v3"} 27 2643node_nfsd_requests_total{method="ReadDir",proto="3"} 27
2633node_nfsd_requests_total{method="ReadDir",proto="v4"} 1272 2644node_nfsd_requests_total{method="ReadDir",proto="4"} 1272
2634node_nfsd_requests_total{method="ReadDirPlus",proto="v3"} 216 2645node_nfsd_requests_total{method="ReadDirPlus",proto="3"} 216
2635node_nfsd_requests_total{method="ReadLink",proto="v2"} 0 2646node_nfsd_requests_total{method="ReadLink",proto="2"} 0
2636node_nfsd_requests_total{method="ReadLink",proto="v3"} 0 2647node_nfsd_requests_total{method="ReadLink",proto="3"} 0
2637node_nfsd_requests_total{method="ReadLink",proto="v4"} 0 2648node_nfsd_requests_total{method="ReadLink",proto="4"} 0
2638node_nfsd_requests_total{method="RelLockOwner",proto="v4"} 0 2649node_nfsd_requests_total{method="RelLockOwner",proto="4"} 0
2639node_nfsd_requests_total{method="Remove",proto="v2"} 0 2650node_nfsd_requests_total{method="Remove",proto="2"} 0
2640node_nfsd_requests_total{method="Remove",proto="v3"} 0 2651node_nfsd_requests_total{method="Remove",proto="3"} 0
2641node_nfsd_requests_total{method="Remove",proto="v4"} 0 2652node_nfsd_requests_total{method="Remove",proto="4"} 0
2642node_nfsd_requests_total{method="Rename",proto="v2"} 0 2653node_nfsd_requests_total{method="Rename",proto="2"} 0
2643node_nfsd_requests_total{method="Rename",proto="v3"} 0 2654node_nfsd_requests_total{method="Rename",proto="3"} 0
2644node_nfsd_requests_total{method="Rename",proto="v4"} 0 2655node_nfsd_requests_total{method="Rename",proto="4"} 0
2645node_nfsd_requests_total{method="Renew",proto="v4"} 1236 2656node_nfsd_requests_total{method="Renew",proto="4"} 1236
2646node_nfsd_requests_total{method="RestoreFH",proto="v4"} 0 2657node_nfsd_requests_total{method="RestoreFH",proto="4"} 0
2647node_nfsd_requests_total{method="RmDir",proto="v2"} 0 2658node_nfsd_requests_total{method="RmDir",proto="2"} 0
2648node_nfsd_requests_total{method="RmDir",proto="v3"} 0 2659node_nfsd_requests_total{method="RmDir",proto="3"} 0
2649node_nfsd_requests_total{method="Root",proto="v2"} 0 2660node_nfsd_requests_total{method="Root",proto="2"} 0
2650node_nfsd_requests_total{method="SaveFH",proto="v4"} 0 2661node_nfsd_requests_total{method="SaveFH",proto="4"} 0
2651node_nfsd_requests_total{method="SecInfo",proto="v4"} 0 2662node_nfsd_requests_total{method="SecInfo",proto="4"} 0
2652node_nfsd_requests_total{method="SetAttr",proto="v2"} 0 2663node_nfsd_requests_total{method="SetAttr",proto="2"} 0
2653node_nfsd_requests_total{method="SetAttr",proto="v3"} 0 2664node_nfsd_requests_total{method="SetAttr",proto="3"} 0
2654node_nfsd_requests_total{method="SetAttr",proto="v4"} 0 2665node_nfsd_requests_total{method="SetAttr",proto="4"} 0
2655node_nfsd_requests_total{method="SymLink",proto="v2"} 0 2666node_nfsd_requests_total{method="SymLink",proto="2"} 0
2656node_nfsd_requests_total{method="SymLink",proto="v3"} 0 2667node_nfsd_requests_total{method="SymLink",proto="3"} 0
2657node_nfsd_requests_total{method="Verify",proto="v4"} 3 2668node_nfsd_requests_total{method="Verify",proto="4"} 3
2658node_nfsd_requests_total{method="WrCache",proto="v2"} 0 2669node_nfsd_requests_total{method="WrCache",proto="2"} 0
2659node_nfsd_requests_total{method="Write",proto="v2"} 0 2670node_nfsd_requests_total{method="Write",proto="2"} 0
2660node_nfsd_requests_total{method="Write",proto="v3"} 0 2671node_nfsd_requests_total{method="Write",proto="3"} 0
2661node_nfsd_requests_total{method="Write",proto="v4"} 3 2672node_nfsd_requests_total{method="Write",proto="4"} 3
2662# HELP node_nfsd_rpc_errors_total Total number of NFSd RPC errors by error type. 2673# HELP node_nfsd_rpc_errors_total Total number of NFSd RPC errors by error type.
2663# TYPE node_nfsd_rpc_errors_total counter 2674# TYPE node_nfsd_rpc_errors_total counter
2664node_nfsd_rpc_errors_total{error="auth"} 2 2675node_nfsd_rpc_errors_total{error="auth"} 2
diff --git a/collector/fixtures/e2e-ppc64le-output.txt b/collector/fixtures/e2e-ppc64le-output.txt
index 65df173..9edd081 100644
--- a/collector/fixtures/e2e-ppc64le-output.txt
+++ b/collector/fixtures/e2e-ppc64le-output.txt
@@ -2449,112 +2449,123 @@ node_nf_conntrack_entries 123
2449# HELP node_nf_conntrack_entries_limit Maximum size of connection tracking table. 2449# HELP node_nf_conntrack_entries_limit Maximum size of connection tracking table.
2450# TYPE node_nf_conntrack_entries_limit gauge 2450# TYPE node_nf_conntrack_entries_limit gauge
2451node_nf_conntrack_entries_limit 65536 2451node_nf_conntrack_entries_limit 65536
2452# HELP node_nfs_net_connections_total Number of connections at the network layer. 2452# HELP node_nfs_connections_total Total number of NFSd TCP connections.
2453# TYPE node_nfs_net_connections_total counter 2453# TYPE node_nfs_connections_total counter
2454node_nfs_net_connections_total{protocol="tcp"} 45 2454node_nfs_connections_total 45
2455# HELP node_nfs_net_reads_total Number of reads at the network layer. 2455# HELP node_nfs_packets_total Total NFSd network packets (sent+received) by protocol type.
2456# TYPE node_nfs_net_reads_total counter 2456# TYPE node_nfs_packets_total counter
2457node_nfs_net_reads_total{protocol="tcp"} 69 2457node_nfs_packets_total{protocol="tcp"} 69
2458node_nfs_net_reads_total{protocol="udp"} 70 2458node_nfs_packets_total{protocol="udp"} 70
2459# HELP node_nfs_procedures_total Number of NFS procedures invoked. 2459# HELP node_nfs_requests_total Number of NFS procedures invoked.
2460# TYPE node_nfs_procedures_total counter 2460# TYPE node_nfs_requests_total counter
2461node_nfs_procedures_total{procedure="access",version="3"} 1.17661341e+08 2461node_nfs_requests_total{method="Access",proto="3"} 1.17661341e+08
2462node_nfs_procedures_total{procedure="access",version="4"} 58 2462node_nfs_requests_total{method="Access",proto="4"} 58
2463node_nfs_procedures_total{procedure="close",version="4"} 28 2463node_nfs_requests_total{method="Allocate",proto="4"} 0
2464node_nfs_procedures_total{procedure="commit",version="3"} 23729 2464node_nfs_requests_total{method="BindConnToSession",proto="4"} 0
2465node_nfs_procedures_total{procedure="commit",version="4"} 83 2465node_nfs_requests_total{method="Clone",proto="4"} 0
2466node_nfs_procedures_total{procedure="create",version="2"} 52 2466node_nfs_requests_total{method="Close",proto="4"} 28
2467node_nfs_procedures_total{procedure="create",version="3"} 2.993289e+06 2467node_nfs_requests_total{method="Commit",proto="3"} 23729
2468node_nfs_procedures_total{procedure="create",version="4"} 15 2468node_nfs_requests_total{method="Commit",proto="4"} 83
2469node_nfs_procedures_total{procedure="create_session",version="4"} 32 2469node_nfs_requests_total{method="Create",proto="2"} 52
2470node_nfs_procedures_total{procedure="delegreturn",version="4"} 97 2470node_nfs_requests_total{method="Create",proto="3"} 2.993289e+06
2471node_nfs_procedures_total{procedure="destroy_session",version="4"} 67 2471node_nfs_requests_total{method="Create",proto="4"} 15
2472node_nfs_procedures_total{procedure="exchange_id",version="4"} 58 2472node_nfs_requests_total{method="CreateSession",proto="4"} 32
2473node_nfs_procedures_total{procedure="fs_locations",version="4"} 32 2473node_nfs_requests_total{method="DeAllocate",proto="4"} 0
2474node_nfs_procedures_total{procedure="fsid_present",version="4"} 11 2474node_nfs_requests_total{method="DelegReturn",proto="4"} 97
2475node_nfs_procedures_total{procedure="fsinfo",version="3"} 2 2475node_nfs_requests_total{method="DestroyClientId",proto="4"} 0
2476node_nfs_procedures_total{procedure="fsinfo",version="4"} 68 2476node_nfs_requests_total{method="DestroySession",proto="4"} 67
2477node_nfs_procedures_total{procedure="fsstat",version="3"} 13332 2477node_nfs_requests_total{method="ExchangeId",proto="4"} 58
2478node_nfs_procedures_total{procedure="get_lease_time",version="4"} 28 2478node_nfs_requests_total{method="FreeStateId",proto="4"} 0
2479node_nfs_procedures_total{procedure="getacl",version="4"} 36 2479node_nfs_requests_total{method="FsInfo",proto="3"} 2
2480node_nfs_procedures_total{procedure="getattr",version="2"} 57 2480node_nfs_requests_total{method="FsInfo",proto="4"} 68
2481node_nfs_procedures_total{procedure="getattr",version="3"} 1.061909262e+09 2481node_nfs_requests_total{method="FsLocations",proto="4"} 32
2482node_nfs_procedures_total{procedure="getattr",version="4"} 88 2482node_nfs_requests_total{method="FsStat",proto="2"} 82
2483node_nfs_procedures_total{procedure="getdeviceinfo",version="4"} 1 2483node_nfs_requests_total{method="FsStat",proto="3"} 13332
2484node_nfs_procedures_total{procedure="layoutcommit",version="4"} 26 2484node_nfs_requests_total{method="FsidPresent",proto="4"} 11
2485node_nfs_procedures_total{procedure="layoutget",version="4"} 90 2485node_nfs_requests_total{method="GetAcl",proto="4"} 36
2486node_nfs_procedures_total{procedure="layoutreturn",version="4"} 0 2486node_nfs_requests_total{method="GetAttr",proto="2"} 57
2487node_nfs_procedures_total{procedure="link",version="2"} 17 2487node_nfs_requests_total{method="GetAttr",proto="3"} 1.061909262e+09
2488node_nfs_procedures_total{procedure="link",version="3"} 0 2488node_nfs_requests_total{method="GetDeviceInfo",proto="4"} 1
2489node_nfs_procedures_total{procedure="link",version="4"} 21 2489node_nfs_requests_total{method="GetDeviceList",proto="4"} 0
2490node_nfs_procedures_total{procedure="lock",version="4"} 39 2490node_nfs_requests_total{method="GetLeaseTime",proto="4"} 28
2491node_nfs_procedures_total{procedure="lockt",version="4"} 68 2491node_nfs_requests_total{method="Getattr",proto="4"} 88
2492node_nfs_procedures_total{procedure="locku",version="4"} 59 2492node_nfs_requests_total{method="LayoutCommit",proto="4"} 26
2493node_nfs_procedures_total{procedure="lookup",version="2"} 71 2493node_nfs_requests_total{method="LayoutGet",proto="4"} 90
2494node_nfs_procedures_total{procedure="lookup",version="3"} 4.077635e+06 2494node_nfs_requests_total{method="LayoutReturn",proto="4"} 0
2495node_nfs_procedures_total{procedure="lookup",version="4"} 29 2495node_nfs_requests_total{method="LayoutStats",proto="4"} 0
2496node_nfs_procedures_total{procedure="lookup_root",version="4"} 74 2496node_nfs_requests_total{method="Link",proto="2"} 17
2497node_nfs_procedures_total{procedure="mkdir",version="2"} 50 2497node_nfs_requests_total{method="Link",proto="3"} 0
2498node_nfs_procedures_total{procedure="mkdir",version="3"} 590 2498node_nfs_requests_total{method="Link",proto="4"} 21
2499node_nfs_procedures_total{procedure="mknod",version="3"} 0 2499node_nfs_requests_total{method="Lock",proto="4"} 39
2500node_nfs_procedures_total{procedure="null",version="2"} 16 2500node_nfs_requests_total{method="Lockt",proto="4"} 68
2501node_nfs_procedures_total{procedure="null",version="3"} 0 2501node_nfs_requests_total{method="Locku",proto="4"} 59
2502node_nfs_procedures_total{procedure="null",version="4"} 98 2502node_nfs_requests_total{method="Lookup",proto="2"} 71
2503node_nfs_procedures_total{procedure="open",version="4"} 85 2503node_nfs_requests_total{method="Lookup",proto="3"} 4.077635e+06
2504node_nfs_procedures_total{procedure="open_confirm",version="4"} 23 2504node_nfs_requests_total{method="Lookup",proto="4"} 29
2505node_nfs_procedures_total{procedure="open_downgrade",version="4"} 1 2505node_nfs_requests_total{method="LookupRoot",proto="4"} 74
2506node_nfs_procedures_total{procedure="open_noattr",version="4"} 24 2506node_nfs_requests_total{method="MkDir",proto="2"} 50
2507node_nfs_procedures_total{procedure="pathconf",version="3"} 1 2507node_nfs_requests_total{method="MkDir",proto="3"} 590
2508node_nfs_procedures_total{procedure="pathconf",version="4"} 53 2508node_nfs_requests_total{method="MkNod",proto="3"} 0
2509node_nfs_procedures_total{procedure="read",version="2"} 45 2509node_nfs_requests_total{method="Null",proto="2"} 16
2510node_nfs_procedures_total{procedure="read",version="3"} 2.9391916e+07 2510node_nfs_requests_total{method="Null",proto="3"} 0
2511node_nfs_procedures_total{procedure="read",version="4"} 51 2511node_nfs_requests_total{method="Null",proto="4"} 98
2512node_nfs_procedures_total{procedure="readdir",version="2"} 70 2512node_nfs_requests_total{method="Open",proto="4"} 85
2513node_nfs_procedures_total{procedure="readdir",version="3"} 3983 2513node_nfs_requests_total{method="OpenConfirm",proto="4"} 23
2514node_nfs_procedures_total{procedure="readdir",version="4"} 66 2514node_nfs_requests_total{method="OpenDowngrade",proto="4"} 1
2515node_nfs_procedures_total{procedure="readdirplus",version="3"} 92385 2515node_nfs_requests_total{method="OpenNoattr",proto="4"} 24
2516node_nfs_procedures_total{procedure="readlink",version="2"} 73 2516node_nfs_requests_total{method="PathConf",proto="3"} 1
2517node_nfs_procedures_total{procedure="readlink",version="3"} 5 2517node_nfs_requests_total{method="Pathconf",proto="4"} 53
2518node_nfs_procedures_total{procedure="readlink",version="4"} 54 2518node_nfs_requests_total{method="Read",proto="2"} 45
2519node_nfs_procedures_total{procedure="reclaim_complete",version="4"} 35 2519node_nfs_requests_total{method="Read",proto="3"} 2.9391916e+07
2520node_nfs_procedures_total{procedure="release_lockowner",version="4"} 85 2520node_nfs_requests_total{method="Read",proto="4"} 51
2521node_nfs_procedures_total{procedure="remove",version="2"} 83 2521node_nfs_requests_total{method="ReadDir",proto="2"} 70
2522node_nfs_procedures_total{procedure="remove",version="3"} 7815 2522node_nfs_requests_total{method="ReadDir",proto="3"} 3983
2523node_nfs_procedures_total{procedure="remove",version="4"} 69 2523node_nfs_requests_total{method="ReadDir",proto="4"} 66
2524node_nfs_procedures_total{procedure="rename",version="2"} 61 2524node_nfs_requests_total{method="ReadDirPlus",proto="3"} 92385
2525node_nfs_procedures_total{procedure="rename",version="3"} 1130 2525node_nfs_requests_total{method="ReadLink",proto="2"} 73
2526node_nfs_procedures_total{procedure="rename",version="4"} 96 2526node_nfs_requests_total{method="ReadLink",proto="3"} 5
2527node_nfs_procedures_total{procedure="renew",version="4"} 83 2527node_nfs_requests_total{method="ReadLink",proto="4"} 54
2528node_nfs_procedures_total{procedure="rmdir",version="2"} 23 2528node_nfs_requests_total{method="ReclaimComplete",proto="4"} 35
2529node_nfs_procedures_total{procedure="rmdir",version="3"} 15 2529node_nfs_requests_total{method="ReleaseLockowner",proto="4"} 85
2530node_nfs_procedures_total{procedure="root",version="2"} 52 2530node_nfs_requests_total{method="Remove",proto="2"} 83
2531node_nfs_procedures_total{procedure="secinfo",version="4"} 81 2531node_nfs_requests_total{method="Remove",proto="3"} 7815
2532node_nfs_procedures_total{procedure="sequence",version="4"} 13 2532node_nfs_requests_total{method="Remove",proto="4"} 69
2533node_nfs_procedures_total{procedure="server_caps",version="4"} 56 2533node_nfs_requests_total{method="Rename",proto="2"} 61
2534node_nfs_procedures_total{procedure="setacl",version="4"} 49 2534node_nfs_requests_total{method="Rename",proto="3"} 1130
2535node_nfs_procedures_total{procedure="setattr",version="2"} 74 2535node_nfs_requests_total{method="Rename",proto="4"} 96
2536node_nfs_procedures_total{procedure="setattr",version="3"} 48906 2536node_nfs_requests_total{method="Renew",proto="4"} 83
2537node_nfs_procedures_total{procedure="setattr",version="4"} 73 2537node_nfs_requests_total{method="RmDir",proto="2"} 23
2538node_nfs_procedures_total{procedure="setclientid",version="4"} 12 2538node_nfs_requests_total{method="RmDir",proto="3"} 15
2539node_nfs_procedures_total{procedure="setclientid_confirm",version="4"} 84 2539node_nfs_requests_total{method="Root",proto="2"} 52
2540node_nfs_procedures_total{procedure="statfs",version="2"} 82 2540node_nfs_requests_total{method="Secinfo",proto="4"} 81
2541node_nfs_procedures_total{procedure="statfs",version="4"} 86 2541node_nfs_requests_total{method="SecinfoNoName",proto="4"} 0
2542node_nfs_procedures_total{procedure="symlink",version="2"} 53 2542node_nfs_requests_total{method="Seek",proto="4"} 0
2543node_nfs_procedures_total{procedure="symlink",version="3"} 0 2543node_nfs_requests_total{method="Sequence",proto="4"} 13
2544node_nfs_procedures_total{procedure="symlink",version="4"} 84 2544node_nfs_requests_total{method="ServerCaps",proto="4"} 56
2545node_nfs_procedures_total{procedure="write",version="2"} 0 2545node_nfs_requests_total{method="SetAcl",proto="4"} 49
2546node_nfs_procedures_total{procedure="write",version="3"} 2.570425e+06 2546node_nfs_requests_total{method="SetAttr",proto="2"} 74
2547node_nfs_procedures_total{procedure="write",version="4"} 54 2547node_nfs_requests_total{method="SetAttr",proto="3"} 48906
2548node_nfs_procedures_total{procedure="writecache",version="2"} 86 2548node_nfs_requests_total{method="SetClientId",proto="4"} 12
2549node_nfs_requests_total{method="SetClientIdConfirm",proto="4"} 84
2550node_nfs_requests_total{method="Setattr",proto="4"} 73
2551node_nfs_requests_total{method="StatFs",proto="4"} 86
2552node_nfs_requests_total{method="SymLink",proto="2"} 53
2553node_nfs_requests_total{method="SymLink",proto="3"} 0
2554node_nfs_requests_total{method="Symlink",proto="4"} 84
2555node_nfs_requests_total{method="TestStateId",proto="4"} 0
2556node_nfs_requests_total{method="WrCache",proto="2"} 86
2557node_nfs_requests_total{method="Write",proto="2"} 0
2558node_nfs_requests_total{method="Write",proto="3"} 2.570425e+06
2559node_nfs_requests_total{method="Write",proto="4"} 54
2549# HELP node_nfs_rpc_authentication_refreshes_total Number of RPC authentication refreshes performed. 2560# HELP node_nfs_rpc_authentication_refreshes_total Number of RPC authentication refreshes performed.
2550# TYPE node_nfs_rpc_authentication_refreshes_total counter 2561# TYPE node_nfs_rpc_authentication_refreshes_total counter
2551node_nfs_rpc_authentication_refreshes_total 1.218815394e+09 2562node_nfs_rpc_authentication_refreshes_total 1.218815394e+09
2552# HELP node_nfs_rpc_operations_total Number of RPCs performed.
2553# TYPE node_nfs_rpc_operations_total counter
2554node_nfs_rpc_operations_total 1.218785755e+09
2555# HELP node_nfs_rpc_retransmissions_total Number of RPC transmissions performed. 2563# HELP node_nfs_rpc_retransmissions_total Number of RPC transmissions performed.
2556# TYPE node_nfs_rpc_retransmissions_total counter 2564# TYPE node_nfs_rpc_retransmissions_total counter
2557node_nfs_rpc_retransmissions_total 374636 2565node_nfs_rpc_retransmissions_total 374636
2566# HELP node_nfs_rpcs_total Total number of RPCs performed.
2567# TYPE node_nfs_rpcs_total counter
2568node_nfs_rpcs_total 1.218785755e+09
2558# HELP node_nfsd_connections_total Total number of NFSd TCP connections. 2569# HELP node_nfsd_connections_total Total number of NFSd TCP connections.
2559# TYPE node_nfsd_connections_total counter 2570# TYPE node_nfsd_connections_total counter
2560node_nfsd_connections_total 1 2571node_nfsd_connections_total 1
@@ -2567,7 +2578,7 @@ node_nfsd_disk_bytes_written_total 72864
2567# HELP node_nfsd_file_handles_stale_total Total number of NFSd stale file handles 2578# HELP node_nfsd_file_handles_stale_total Total number of NFSd stale file handles
2568# TYPE node_nfsd_file_handles_stale_total counter 2579# TYPE node_nfsd_file_handles_stale_total counter
2569node_nfsd_file_handles_stale_total 0 2580node_nfsd_file_handles_stale_total 0
2570# HELP node_nfsd_packets_total Total NFSd network packets (sent+recieved) by protocol type. 2581# HELP node_nfsd_packets_total Total NFSd network packets (sent+received) by protocol type.
2571# TYPE node_nfsd_packets_total counter 2582# TYPE node_nfsd_packets_total counter
2572node_nfsd_packets_total{proto="tcp"} 917 2583node_nfsd_packets_total{proto="tcp"} 917
2573node_nfsd_packets_total{proto="udp"} 55 2584node_nfsd_packets_total{proto="udp"} 55
@@ -2588,77 +2599,77 @@ node_nfsd_reply_cache_misses_total 6
2588node_nfsd_reply_cache_nocache_total 18622 2599node_nfsd_reply_cache_nocache_total 18622
2589# HELP node_nfsd_requests_total Total number NFSd Requests by method and protocol. 2600# HELP node_nfsd_requests_total Total number NFSd Requests by method and protocol.
2590# TYPE node_nfsd_requests_total counter 2601# TYPE node_nfsd_requests_total counter
2591node_nfsd_requests_total{method="Access",proto="v3"} 111 2602node_nfsd_requests_total{method="Access",proto="3"} 111
2592node_nfsd_requests_total{method="Access",proto="v4"} 1098 2603node_nfsd_requests_total{method="Access",proto="4"} 1098
2593node_nfsd_requests_total{method="Close",proto="v4"} 2 2604node_nfsd_requests_total{method="Close",proto="4"} 2
2594node_nfsd_requests_total{method="Commit",proto="v3"} 0 2605node_nfsd_requests_total{method="Commit",proto="3"} 0
2595node_nfsd_requests_total{method="Commit",proto="v4"} 0 2606node_nfsd_requests_total{method="Commit",proto="4"} 0
2596node_nfsd_requests_total{method="Create",proto="v2"} 0 2607node_nfsd_requests_total{method="Create",proto="2"} 0
2597node_nfsd_requests_total{method="Create",proto="v3"} 0 2608node_nfsd_requests_total{method="Create",proto="3"} 0
2598node_nfsd_requests_total{method="Create",proto="v4"} 0 2609node_nfsd_requests_total{method="Create",proto="4"} 0
2599node_nfsd_requests_total{method="DelegPurge",proto="v4"} 0 2610node_nfsd_requests_total{method="DelegPurge",proto="4"} 0
2600node_nfsd_requests_total{method="DelegReturn",proto="v4"} 0 2611node_nfsd_requests_total{method="DelegReturn",proto="4"} 0
2601node_nfsd_requests_total{method="FsInfo",proto="v3"} 2 2612node_nfsd_requests_total{method="FsInfo",proto="3"} 2
2602node_nfsd_requests_total{method="FsStat",proto="v2"} 2 2613node_nfsd_requests_total{method="FsStat",proto="2"} 2
2603node_nfsd_requests_total{method="FsStat",proto="v3"} 0 2614node_nfsd_requests_total{method="FsStat",proto="3"} 0
2604node_nfsd_requests_total{method="GetAttr",proto="v2"} 69 2615node_nfsd_requests_total{method="GetAttr",proto="2"} 69
2605node_nfsd_requests_total{method="GetAttr",proto="v3"} 112 2616node_nfsd_requests_total{method="GetAttr",proto="3"} 112
2606node_nfsd_requests_total{method="GetAttr",proto="v4"} 8179 2617node_nfsd_requests_total{method="GetAttr",proto="4"} 8179
2607node_nfsd_requests_total{method="GetFH",proto="v4"} 5896 2618node_nfsd_requests_total{method="GetFH",proto="4"} 5896
2608node_nfsd_requests_total{method="Link",proto="v2"} 0 2619node_nfsd_requests_total{method="Link",proto="2"} 0
2609node_nfsd_requests_total{method="Link",proto="v3"} 0 2620node_nfsd_requests_total{method="Link",proto="3"} 0
2610node_nfsd_requests_total{method="Link",proto="v4"} 0 2621node_nfsd_requests_total{method="Link",proto="4"} 0
2611node_nfsd_requests_total{method="Lock",proto="v4"} 0 2622node_nfsd_requests_total{method="Lock",proto="4"} 0
2612node_nfsd_requests_total{method="Lockt",proto="v4"} 0 2623node_nfsd_requests_total{method="Lockt",proto="4"} 0
2613node_nfsd_requests_total{method="Locku",proto="v4"} 0 2624node_nfsd_requests_total{method="Locku",proto="4"} 0
2614node_nfsd_requests_total{method="Lookup",proto="v2"} 4410 2625node_nfsd_requests_total{method="Lookup",proto="2"} 4410
2615node_nfsd_requests_total{method="Lookup",proto="v3"} 2719 2626node_nfsd_requests_total{method="Lookup",proto="3"} 2719
2616node_nfsd_requests_total{method="Lookup",proto="v4"} 5900 2627node_nfsd_requests_total{method="Lookup",proto="4"} 5900
2617node_nfsd_requests_total{method="LookupRoot",proto="v4"} 0 2628node_nfsd_requests_total{method="LookupRoot",proto="4"} 0
2618node_nfsd_requests_total{method="MkDir",proto="v2"} 0 2629node_nfsd_requests_total{method="MkDir",proto="2"} 0
2619node_nfsd_requests_total{method="MkDir",proto="v3"} 0 2630node_nfsd_requests_total{method="MkDir",proto="3"} 0
2620node_nfsd_requests_total{method="MkNod",proto="v3"} 0 2631node_nfsd_requests_total{method="MkNod",proto="3"} 0
2621node_nfsd_requests_total{method="Nverify",proto="v4"} 0 2632node_nfsd_requests_total{method="Nverify",proto="4"} 0
2622node_nfsd_requests_total{method="Open",proto="v4"} 2 2633node_nfsd_requests_total{method="Open",proto="4"} 2
2623node_nfsd_requests_total{method="OpenAttr",proto="v4"} 0 2634node_nfsd_requests_total{method="OpenAttr",proto="4"} 0
2624node_nfsd_requests_total{method="OpenConfirm",proto="v4"} 2 2635node_nfsd_requests_total{method="OpenConfirm",proto="4"} 2
2625node_nfsd_requests_total{method="OpenDgrd",proto="v4"} 0 2636node_nfsd_requests_total{method="OpenDgrd",proto="4"} 0
2626node_nfsd_requests_total{method="PathConf",proto="v3"} 1 2637node_nfsd_requests_total{method="PathConf",proto="3"} 1
2627node_nfsd_requests_total{method="PutFH",proto="v4"} 9609 2638node_nfsd_requests_total{method="PutFH",proto="4"} 9609
2628node_nfsd_requests_total{method="Read",proto="v2"} 0 2639node_nfsd_requests_total{method="Read",proto="2"} 0
2629node_nfsd_requests_total{method="Read",proto="v3"} 0 2640node_nfsd_requests_total{method="Read",proto="3"} 0
2630node_nfsd_requests_total{method="Read",proto="v4"} 150 2641node_nfsd_requests_total{method="Read",proto="4"} 150
2631node_nfsd_requests_total{method="ReadDir",proto="v2"} 99 2642node_nfsd_requests_total{method="ReadDir",proto="2"} 99
2632node_nfsd_requests_total{method="ReadDir",proto="v3"} 27 2643node_nfsd_requests_total{method="ReadDir",proto="3"} 27
2633node_nfsd_requests_total{method="ReadDir",proto="v4"} 1272 2644node_nfsd_requests_total{method="ReadDir",proto="4"} 1272
2634node_nfsd_requests_total{method="ReadDirPlus",proto="v3"} 216 2645node_nfsd_requests_total{method="ReadDirPlus",proto="3"} 216
2635node_nfsd_requests_total{method="ReadLink",proto="v2"} 0 2646node_nfsd_requests_total{method="ReadLink",proto="2"} 0
2636node_nfsd_requests_total{method="ReadLink",proto="v3"} 0 2647node_nfsd_requests_total{method="ReadLink",proto="3"} 0
2637node_nfsd_requests_total{method="ReadLink",proto="v4"} 0 2648node_nfsd_requests_total{method="ReadLink",proto="4"} 0
2638node_nfsd_requests_total{method="RelLockOwner",proto="v4"} 0 2649node_nfsd_requests_total{method="RelLockOwner",proto="4"} 0
2639node_nfsd_requests_total{method="Remove",proto="v2"} 0 2650node_nfsd_requests_total{method="Remove",proto="2"} 0
2640node_nfsd_requests_total{method="Remove",proto="v3"} 0 2651node_nfsd_requests_total{method="Remove",proto="3"} 0
2641node_nfsd_requests_total{method="Remove",proto="v4"} 0 2652node_nfsd_requests_total{method="Remove",proto="4"} 0
2642node_nfsd_requests_total{method="Rename",proto="v2"} 0 2653node_nfsd_requests_total{method="Rename",proto="2"} 0
2643node_nfsd_requests_total{method="Rename",proto="v3"} 0 2654node_nfsd_requests_total{method="Rename",proto="3"} 0
2644node_nfsd_requests_total{method="Rename",proto="v4"} 0 2655node_nfsd_requests_total{method="Rename",proto="4"} 0
2645node_nfsd_requests_total{method="Renew",proto="v4"} 1236 2656node_nfsd_requests_total{method="Renew",proto="4"} 1236
2646node_nfsd_requests_total{method="RestoreFH",proto="v4"} 0 2657node_nfsd_requests_total{method="RestoreFH",proto="4"} 0
2647node_nfsd_requests_total{method="RmDir",proto="v2"} 0 2658node_nfsd_requests_total{method="RmDir",proto="2"} 0
2648node_nfsd_requests_total{method="RmDir",proto="v3"} 0 2659node_nfsd_requests_total{method="RmDir",proto="3"} 0
2649node_nfsd_requests_total{method="Root",proto="v2"} 0 2660node_nfsd_requests_total{method="Root",proto="2"} 0
2650node_nfsd_requests_total{method="SaveFH",proto="v4"} 0 2661node_nfsd_requests_total{method="SaveFH",proto="4"} 0
2651node_nfsd_requests_total{method="SecInfo",proto="v4"} 0 2662node_nfsd_requests_total{method="SecInfo",proto="4"} 0
2652node_nfsd_requests_total{method="SetAttr",proto="v2"} 0 2663node_nfsd_requests_total{method="SetAttr",proto="2"} 0
2653node_nfsd_requests_total{method="SetAttr",proto="v3"} 0 2664node_nfsd_requests_total{method="SetAttr",proto="3"} 0
2654node_nfsd_requests_total{method="SetAttr",proto="v4"} 0 2665node_nfsd_requests_total{method="SetAttr",proto="4"} 0
2655node_nfsd_requests_total{method="SymLink",proto="v2"} 0 2666node_nfsd_requests_total{method="SymLink",proto="2"} 0
2656node_nfsd_requests_total{method="SymLink",proto="v3"} 0 2667node_nfsd_requests_total{method="SymLink",proto="3"} 0
2657node_nfsd_requests_total{method="Verify",proto="v4"} 3 2668node_nfsd_requests_total{method="Verify",proto="4"} 3
2658node_nfsd_requests_total{method="WrCache",proto="v2"} 0 2669node_nfsd_requests_total{method="WrCache",proto="2"} 0
2659node_nfsd_requests_total{method="Write",proto="v2"} 0 2670node_nfsd_requests_total{method="Write",proto="2"} 0
2660node_nfsd_requests_total{method="Write",proto="v3"} 0 2671node_nfsd_requests_total{method="Write",proto="3"} 0
2661node_nfsd_requests_total{method="Write",proto="v4"} 3 2672node_nfsd_requests_total{method="Write",proto="4"} 3
2662# HELP node_nfsd_rpc_errors_total Total number of NFSd RPC errors by error type. 2673# HELP node_nfsd_rpc_errors_total Total number of NFSd RPC errors by error type.
2663# TYPE node_nfsd_rpc_errors_total counter 2674# TYPE node_nfsd_rpc_errors_total counter
2664node_nfsd_rpc_errors_total{error="auth"} 2 2675node_nfsd_rpc_errors_total{error="auth"} 2
diff --git a/collector/nfs_linux.go b/collector/nfs_linux.go
index 9f6cf29..074a8c2 100644
--- a/collector/nfs_linux.go
+++ b/collector/nfs_linux.go
@@ -17,7 +17,6 @@ import (
17 "fmt" 17 "fmt"
18 "os" 18 "os"
19 "reflect" 19 "reflect"
20 "strings"
21 20
22 "github.com/prometheus/client_golang/prometheus" 21 "github.com/prometheus/client_golang/prometheus"
23 "github.com/prometheus/common/log" 22 "github.com/prometheus/common/log"
@@ -53,20 +52,20 @@ func NewNfsCollector() (Collector, error) {
53 return &nfsCollector{ 52 return &nfsCollector{
54 fs: fs, 53 fs: fs,
55 nfsNetReadsDesc: prometheus.NewDesc( 54 nfsNetReadsDesc: prometheus.NewDesc(
56 prometheus.BuildFQName(namespace, nfsSubsystem, "net_reads_total"), 55 prometheus.BuildFQName(namespace, nfsSubsystem, "packets_total"),
57 "Number of reads at the network layer.", 56 "Total NFSd network packets (sent+received) by protocol type.",
58 []string{"protocol"}, 57 []string{"protocol"},
59 nil, 58 nil,
60 ), 59 ),
61 nfsNetConnectionsDesc: prometheus.NewDesc( 60 nfsNetConnectionsDesc: prometheus.NewDesc(
62 prometheus.BuildFQName(namespace, nfsSubsystem, "net_connections_total"), 61 prometheus.BuildFQName(namespace, nfsSubsystem, "connections_total"),
63 "Number of connections at the network layer.", 62 "Total number of NFSd TCP connections.",
64 []string{"protocol"}, 63 nil,
65 nil, 64 nil,
66 ), 65 ),
67 nfsRPCOperationsDesc: prometheus.NewDesc( 66 nfsRPCOperationsDesc: prometheus.NewDesc(
68 prometheus.BuildFQName(namespace, nfsSubsystem, "rpc_operations_total"), 67 prometheus.BuildFQName(namespace, nfsSubsystem, "rpcs_total"),
69 "Number of RPCs performed.", 68 "Total number of RPCs performed.",
70 nil, 69 nil,
71 nil, 70 nil,
72 ), 71 ),
@@ -83,9 +82,9 @@ func NewNfsCollector() (Collector, error) {
83 nil, 82 nil,
84 ), 83 ),
85 nfsProceduresDesc: prometheus.NewDesc( 84 nfsProceduresDesc: prometheus.NewDesc(
86 prometheus.BuildFQName(namespace, "nfs", "procedures_total"), 85 prometheus.BuildFQName(namespace, nfsSubsystem, "requests_total"),
87 "Number of NFS procedures invoked.", 86 "Number of NFS procedures invoked.",
88 []string{"version", "procedure"}, 87 []string{"proto", "method"},
89 nil, 88 nil,
90 ), 89 ),
91 }, nil 90 }, nil
@@ -117,7 +116,7 @@ func (c *nfsCollector) updateNFSNetworkStats(ch chan<- prometheus.Metric, s *nfs
117 ch <- prometheus.MustNewConstMetric(c.nfsNetReadsDesc, prometheus.CounterValue, 116 ch <- prometheus.MustNewConstMetric(c.nfsNetReadsDesc, prometheus.CounterValue,
118 float64(s.TCPCount), "tcp") 117 float64(s.TCPCount), "tcp")
119 ch <- prometheus.MustNewConstMetric(c.nfsNetConnectionsDesc, prometheus.CounterValue, 118 ch <- prometheus.MustNewConstMetric(c.nfsNetConnectionsDesc, prometheus.CounterValue,
120 float64(s.TCPConnect), "tcp") 119 float64(s.TCPConnect))
121} 120}
122 121
123// updateNFSClientRPCStats collects statistics for kernel server RPCs. 122// updateNFSClientRPCStats collects statistics for kernel server RPCs.
@@ -137,17 +136,9 @@ func (c *nfsCollector) updateNFSRequestsv2Stats(ch chan<- prometheus.Metric, s *
137 v := reflect.ValueOf(s).Elem() 136 v := reflect.ValueOf(s).Elem()
138 for i := 0; i < v.NumField(); i++ { 137 for i := 0; i < v.NumField(); i++ {
139 field := v.Field(i) 138 field := v.Field(i)
140 name := strings.ToLower(v.Type().Field(i).Name)
141
142 switch name {
143 case "wrcache":
144 name = "writecache"
145 case "fsstat":
146 name = "statfs"
147 }
148 139
149 ch <- prometheus.MustNewConstMetric(c.nfsProceduresDesc, prometheus.CounterValue, 140 ch <- prometheus.MustNewConstMetric(c.nfsProceduresDesc, prometheus.CounterValue,
150 float64(field.Uint()), proto, name) 141 float64(field.Uint()), proto, v.Type().Field(i).Name)
151 } 142 }
152} 143}
153 144
@@ -158,10 +149,9 @@ func (c *nfsCollector) updateNFSRequestsv3Stats(ch chan<- prometheus.Metric, s *
158 v := reflect.ValueOf(s).Elem() 149 v := reflect.ValueOf(s).Elem()
159 for i := 0; i < v.NumField(); i++ { 150 for i := 0; i < v.NumField(); i++ {
160 field := v.Field(i) 151 field := v.Field(i)
161 name := strings.ToLower(v.Type().Field(i).Name)
162 152
163 ch <- prometheus.MustNewConstMetric(c.nfsProceduresDesc, prometheus.CounterValue, 153 ch <- prometheus.MustNewConstMetric(c.nfsProceduresDesc, prometheus.CounterValue,
164 float64(field.Uint()), proto, name) 154 float64(field.Uint()), proto, v.Type().Field(i).Name)
165 } 155 }
166} 156}
167 157
@@ -172,43 +162,8 @@ func (c *nfsCollector) updateNFSRequestsv4Stats(ch chan<- prometheus.Metric, s *
172 v := reflect.ValueOf(s).Elem() 162 v := reflect.ValueOf(s).Elem()
173 for i := 0; i < v.NumField(); i++ { 163 for i := 0; i < v.NumField(); i++ {
174 field := v.Field(i) 164 field := v.Field(i)
175 name := strings.ToLower(v.Type().Field(i).Name)
176
177 switch name {
178 case "openconfirm":
179 name = "open_confirm"
180 case "opendowngrade":
181 name = "open_downgrade"
182 case "opennoattr":
183 name = "open_noattr"
184 case "setclientidconfirm":
185 name = "setclientid_confirm"
186 case "lookuproot":
187 name = "lookup_root"
188 case "servercaps":
189 name = "server_caps"
190 case "fslocations":
191 name = "fs_locations"
192 case "releaselockowner":
193 name = "release_lockowner"
194 case "fsidpresent":
195 name = "fsid_present"
196 case "exchangeid":
197 name = "exchange_id"
198 case "createsession":
199 name = "create_session"
200 case "destroysession":
201 name = "destroy_session"
202 case "getleasetime":
203 name = "get_lease_time"
204 case "reclaimcomplete":
205 name = "reclaim_complete"
206 // TODO: Enable these metrics
207 case "secinfononame", "teststateid", "freestateid", "getdevicelist", "bindconntosession", "destroyclientid", "seek", "allocate", "deallocate", "layoutstats", "clone":
208 continue
209 }
210 165
211 ch <- prometheus.MustNewConstMetric(c.nfsProceduresDesc, prometheus.CounterValue, 166 ch <- prometheus.MustNewConstMetric(c.nfsProceduresDesc, prometheus.CounterValue,
212 float64(field.Uint()), proto, name) 167 float64(field.Uint()), proto, v.Type().Field(i).Name)
213 } 168 }
214} 169}
diff --git a/collector/nfsd_linux.go b/collector/nfsd_linux.go
index d1d28c2..fd2be58 100644
--- a/collector/nfsd_linux.go
+++ b/collector/nfsd_linux.go
@@ -186,7 +186,7 @@ func (c *nfsdCollector) updateNFSdReadAheadCacheStats(ch chan<- prometheus.Metri
186func (c *nfsdCollector) updateNFSdNetworkStats(ch chan<- prometheus.Metric, s *nfs.Network) { 186func (c *nfsdCollector) updateNFSdNetworkStats(ch chan<- prometheus.Metric, s *nfs.Network) {
187 packetDesc := prometheus.NewDesc( 187 packetDesc := prometheus.NewDesc(
188 prometheus.BuildFQName(namespace, nfsdSubsystem, "packets_total"), 188 prometheus.BuildFQName(namespace, nfsdSubsystem, "packets_total"),
189 "Total NFSd network packets (sent+recieved) by protocol type.", 189 "Total NFSd network packets (sent+received) by protocol type.",
190 []string{"proto"}, 190 []string{"proto"},
191 nil, 191 nil,
192 ) 192 )
@@ -242,7 +242,7 @@ func (c *nfsdCollector) updateNFSdServerRPCStats(ch chan<- prometheus.Metric, s
242 242
243// updateNFSdRequestsv2Stats collects statistics for NFSv2 requests. 243// updateNFSdRequestsv2Stats collects statistics for NFSv2 requests.
244func (c *nfsdCollector) updateNFSdRequestsv2Stats(ch chan<- prometheus.Metric, s *nfs.V2Stats) { 244func (c *nfsdCollector) updateNFSdRequestsv2Stats(ch chan<- prometheus.Metric, s *nfs.V2Stats) {
245 const proto = "v2" 245 const proto = "2"
246 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue, 246 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue,
247 float64(s.GetAttr), proto, "GetAttr") 247 float64(s.GetAttr), proto, "GetAttr")
248 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue, 248 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue,
@@ -281,7 +281,7 @@ func (c *nfsdCollector) updateNFSdRequestsv2Stats(ch chan<- prometheus.Metric, s
281 281
282// updateNFSdRequestsv3Stats collects statistics for NFSv3 requests. 282// updateNFSdRequestsv3Stats collects statistics for NFSv3 requests.
283func (c *nfsdCollector) updateNFSdRequestsv3Stats(ch chan<- prometheus.Metric, s *nfs.V3Stats) { 283func (c *nfsdCollector) updateNFSdRequestsv3Stats(ch chan<- prometheus.Metric, s *nfs.V3Stats) {
284 const proto = "v3" 284 const proto = "3"
285 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue, 285 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue,
286 float64(s.GetAttr), proto, "GetAttr") 286 float64(s.GetAttr), proto, "GetAttr")
287 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue, 287 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue,
@@ -328,7 +328,7 @@ func (c *nfsdCollector) updateNFSdRequestsv3Stats(ch chan<- prometheus.Metric, s
328 328
329// updateNFSdRequestsv4Stats collects statistics for NFSv4 requests. 329// updateNFSdRequestsv4Stats collects statistics for NFSv4 requests.
330func (c *nfsdCollector) updateNFSdRequestsv4Stats(ch chan<- prometheus.Metric, s *nfs.V4Ops) { 330func (c *nfsdCollector) updateNFSdRequestsv4Stats(ch chan<- prometheus.Metric, s *nfs.V4Ops) {
331 const proto = "v4" 331 const proto = "4"
332 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue, 332 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue,
333 float64(s.Access), proto, "Access") 333 float64(s.Access), proto, "Access")
334 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue, 334 ch <- prometheus.MustNewConstMetric(c.requestsDesc, prometheus.CounterValue,