Skip to content

Commit d143559

Browse files
committed
properly supported nfsv4; added plugin to collect nfs client statistics; fixes netdata#959
1 parent 1b5a639 commit d143559

5 files changed

Lines changed: 187 additions & 81 deletions

File tree

src/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ netdata_SOURCES = \
5252
proc_net_dev.c \
5353
proc_net_ip_vs_stats.c \
5454
proc_net_netstat.c \
55+
proc_net_rpc_nfs.c \
5556
proc_net_rpc_nfsd.c \
5657
proc_net_snmp.c \
5758
proc_net_snmp6.c \

src/plugin_proc.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ void *proc_main(void *ptr)
2828
int vdo_proc_stat = !config_get_boolean("plugin:proc", "/proc/stat", 1);
2929
int vdo_proc_meminfo = !config_get_boolean("plugin:proc", "/proc/meminfo", 1);
3030
int vdo_proc_vmstat = !config_get_boolean("plugin:proc", "/proc/vmstat", 1);
31+
int vdo_proc_net_rpc_nfs = !config_get_boolean("plugin:proc", "/proc/net/rpc/nfs", 1);
3132
int vdo_proc_net_rpc_nfsd = !config_get_boolean("plugin:proc", "/proc/net/rpc/nfsd", 1);
3233
int vdo_proc_sys_kernel_random_entropy_avail = !config_get_boolean("plugin:proc", "/proc/sys/kernel/random/entropy_avail", 1);
3334
int vdo_proc_interrupts = !config_get_boolean("plugin:proc", "/proc/interrupts", 1);
@@ -49,6 +50,7 @@ void *proc_main(void *ptr)
4950
unsigned long long sutime_proc_stat = 0ULL;
5051
unsigned long long sutime_proc_meminfo = 0ULL;
5152
unsigned long long sutime_proc_vmstat = 0ULL;
53+
unsigned long long sutime_proc_net_rpc_nfs = 0ULL;
5254
unsigned long long sutime_proc_net_rpc_nfsd = 0ULL;
5355
unsigned long long sutime_proc_sys_kernel_random_entropy_avail = 0ULL;
5456
unsigned long long sutime_proc_interrupts = 0ULL;
@@ -221,6 +223,14 @@ void *proc_main(void *ptr)
221223
}
222224
if(unlikely(netdata_exit)) break;
223225

226+
if(!vdo_proc_net_rpc_nfs) {
227+
debug(D_PROCNETDEV_LOOP, "PROCNETDEV: calling do_proc_net_rpc_nfs().");
228+
sunow = time_usec();
229+
vdo_proc_net_rpc_nfs = do_proc_net_rpc_nfs(rrd_update_every, (sutime_proc_net_rpc_nfs > 0)?sunow - sutime_proc_net_rpc_nfs:0ULL);
230+
sutime_proc_net_rpc_nfs = sunow;
231+
}
232+
if(unlikely(netdata_exit)) break;
233+
224234
// END -- the job is done
225235

226236
// --------------------------------------------------------------------

src/plugin_proc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ extern int do_proc_net_ip_vs_stats(int update_every, unsigned long long dt);
1313
extern int do_proc_stat(int update_every, unsigned long long dt);
1414
extern int do_proc_meminfo(int update_every, unsigned long long dt);
1515
extern int do_proc_vmstat(int update_every, unsigned long long dt);
16+
extern int do_proc_net_rpc_nfs(int update_every, unsigned long long dt);
1617
extern int do_proc_net_rpc_nfsd(int update_every, unsigned long long dt);
1718
extern int do_proc_sys_kernel_random_entropy_avail(int update_every, unsigned long long dt);
1819
extern int do_proc_interrupts(int update_every, unsigned long long dt);

0 commit comments

Comments
 (0)