@cryptotaxi247 / netdata-1 / commits / 08e6868cb

remove loose global variable from zfs monitoring

Costa Tsaousis (ktsaou) committed Nov 3, 2017 at 00:26 UTC 08e6868cb69320045ceb3d3266f8de7a0ae79fb2
4 files changed +20 -18
src/freebsd_kstat_zfs.c
+4 -4
@@ -1,7 +1,7 @@
1 #include "common.h"
2 #include "zfs_common.h"
3
4 -struct arcstats arcstats = { 0 };
4 +extern struct arcstats arcstats;
5
6 // --------------------------------------------------------------------------------------------------------------------
7 // kstat.zfs.misc.arcstats
@@ -105,15 +105,15 @@ int do_kstat_zfs_misc_arcstats(int update_every, usec_t dt) {
105 int arc_sys_free[5];
106 } mibs;
107
108 - l2exist = -1;
108 + arcstats.l2exist = -1;
109
110 if(unlikely(sysctlbyname("kstat.zfs.misc.arcstats.l2_size", &l2_size, &uint64_t_size, NULL, 0)))
111 return 0;
112
113 if(likely(l2_size))
114 - l2exist = 1;
114 + arcstats.l2exist = 1;
115 else
116 - l2exist = 0;
116 + arcstats.l2exist = 0;
117
118 GETSYSCTL_SIMPLE("kstat.zfs.misc.arcstats.hits", mibs.hits, arcstats.hits);
119 GETSYSCTL_SIMPLE("kstat.zfs.misc.arcstats.misses", mibs.misses, arcstats.misses);
src/proc_spl_kstat_zfs.c
+6 -6
@@ -3,7 +3,7 @@
3
4 #define ZFS_PROC_ARCSTATS "/proc/spl/kstat/zfs/arcstats"
5
6 -struct arcstats arcstats = { 0 };
6 +extern struct arcstats arcstats;
7
8 int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt) {
9 (void)dt;
@@ -11,7 +11,7 @@ int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt) {
11 static procfile *ff = NULL;
12 static ARL_BASE *arl_base = NULL;
13
14 - l2exist = -1;
14 + arcstats.l2exist = -1;
15
16 if(unlikely(!arl_base)) {
17 arl_base = arl_create("arcstats", NULL, 60);
@@ -135,16 +135,16 @@ int do_proc_spl_kstat_zfs_arcstats(int update_every, usec_t dt) {
135 const char *key = procfile_lineword(ff, l, 0);
136 const char *value = procfile_lineword(ff, l, 2);
137
138 - if(unlikely(l2exist == -1)) {
138 + if(unlikely(arcstats.l2exist == -1)) {
139 if(key[0] == 'l' && key[1] == '2' && key[2] == '_')
140 - l2exist = 1;
140 + arcstats.l2exist = 1;
141 }
142
143 if(unlikely(arl_check(arl_base, key, value))) break;
144 }
145
146 - if(unlikely(l2exist == -1))
147 - l2exist = 0;
146 + if(unlikely(arcstats.l2exist == -1))
147 + arcstats.l2exist = 0;
148
149 generate_charts_arcstats("proc", update_every);
150 generate_charts_arc_summary("proc", update_every);
src/zfs_common.c
+6 -6
@@ -1,7 +1,7 @@
1 #include "common.h"
2 #include "zfs_common.h"
3
4 -extern struct arcstats arcstats;
4 +struct arcstats arcstats = { 0 };
5
6 void generate_charts_arcstats(const char *plugin, int update_every) {
7
@@ -70,7 +70,7 @@ void generate_charts_arcstats(const char *plugin, int update_every) {
70
71 // --------------------------------------------------------------------
72
73 - if(likely(l2exist)) {
73 + if(likely(arcstats.l2exist)) {
74 static RRDSET *st_l2_size = NULL;
75 static RRDDIM *rd_l2_size = NULL;
76 static RRDDIM *rd_l2_asize = NULL;
@@ -133,7 +133,7 @@ void generate_charts_arcstats(const char *plugin, int update_every) {
133 rd_pread = rrddim_add(st_reads, "preads", "prefetch", 1, 1, RRD_ALGORITHM_INCREMENTAL);
134 rd_mread = rrddim_add(st_reads, "mreads", "metadata", 1, 1, RRD_ALGORITHM_INCREMENTAL);
135
136 - if(l2exist)
136 + if(arcstats.l2exist)
137 rd_l2read = rrddim_add(st_reads, "l2reads", "l2", 1, 1, RRD_ALGORITHM_INCREMENTAL);
138 }
139 else
@@ -144,7 +144,7 @@ void generate_charts_arcstats(const char *plugin, int update_every) {
144 rrddim_set_by_pointer(st_reads, rd_pread, pread);
145 rrddim_set_by_pointer(st_reads, rd_mread, mread);
146
147 - if(l2exist)
147 + if(arcstats.l2exist)
148 rrddim_set_by_pointer(st_reads, rd_l2read, l2read);
149
150 rrdset_done(st_reads);
@@ -152,7 +152,7 @@ void generate_charts_arcstats(const char *plugin, int update_every) {
152
153 // --------------------------------------------------------------------
154
155 - if(likely(l2exist)) {
155 + if(likely(arcstats.l2exist)) {
156 static RRDSET *st_l2bytes = NULL;
157 static RRDDIM *rd_l2_read_bytes = NULL;
158 static RRDDIM *rd_l2_write_bytes = NULL;
@@ -322,7 +322,7 @@ void generate_charts_arcstats(const char *plugin, int update_every) {
322
323 // --------------------------------------------------------------------
324
325 - if(likely(l2exist)) {
325 + if(likely(arcstats.l2exist)) {
326 static RRDSET *st_l2hits = NULL;
327 static RRDDIM *rd_l2hits = NULL;
328 static RRDDIM *rd_l2misses = NULL;
src/zfs_common.h
+4 -2
@@ -8,6 +8,7 @@
8 #define ZFS_FAMILY_HASH "hashes"
9
10 struct arcstats {
11 + // values
12 unsigned long long hits;
13 unsigned long long misses;
14 unsigned long long demand_data_hits;
@@ -99,9 +100,10 @@ struct arcstats {
100 unsigned long long arc_meta_min;
101 unsigned long long arc_need_free;
102 unsigned long long arc_sys_free;
102 -};
103
104 -int l2exist;
104 + // flags
105 + int l2exist;
106 +};
107
108 void generate_charts_arcstats(const char *plugin, int update_every);
109 void generate_charts_arc_summary(const char *plugin, int update_every);