* Avoid negated config options (s/IgnoreV/ReportV/)
* Use _Bool instead of int
* Handle multiple occurences of config option correctly
@LOAD_PLUGIN_NETWORK@</Plugin>
#<Plugin nfs>
@LOAD_PLUGIN_NETWORK@</Plugin>
#<Plugin nfs>
-# IgnoreV2 true
-# #IgnoreV3 true
-# #IgnoreV4 true
+# ReportV2 false
+# #ReportV3 false
+# #ReportV4 false
#</Plugin>
#<Plugin nginx>
#</Plugin>
#<Plugin nginx>
grouped by version and whether the system runs as server or client.
It is possibly to omit metrics for a specific NFS version by setting one or
grouped by version and whether the system runs as server or client.
It is possibly to omit metrics for a specific NFS version by setting one or
-more of the following options to B<true> (all of them default to B<false>).
+more of the following options to B<false> (all of them default to B<true>).
-=item B<IgnoreV2> B<false>|B<true>
+=item B<ReportV2> B<true>|B<false>
-=item B<IgnoreV3> B<false>|B<true>
+=item B<ReportV3> B<true>|B<false>
-=item B<IgnoreV4> B<false>|B<true>
+=item B<ReportV4> B<true>|B<false>
#include <kstat.h>
#endif
#include <kstat.h>
#endif
-static const char *config_keys[] = {"IgnoreV2", "IgnoreV3", "IgnoreV4"};
+static const char *config_keys[] = {"ReportV2", "ReportV3", "ReportV4"};
static int config_keys_num = STATIC_ARRAY_SIZE(config_keys);
static int config_keys_num = STATIC_ARRAY_SIZE(config_keys);
-static int ignore_v2 = 0;
-static int ignore_v3 = 0;
-static int ignore_v4 = 0;
+static _Bool report_v2 = 1;
+static _Bool report_v3 = 1;
+static _Bool report_v4 = 1;
#endif
static int nfs_config(const char *key, const char *value) {
#endif
static int nfs_config(const char *key, const char *value) {
- if (strcasecmp(key, "IgnoreV2") == 0 && IS_TRUE(value))
- ignore_v2 = 1;
- else if (strcasecmp(key, "IgnoreV3") == 0 && IS_TRUE(value))
- ignore_v3 = 1;
- else if (strcasecmp(key, "IgnoreV4") == 0 && IS_TRUE(value))
- ignore_v4 = 1;
+ if (strcasecmp(key, "ReportV2") == 0)
+ report_v2 = IS_TRUE(value);
+ else if (strcasecmp(key, "ReportV3") == 0)
+ report_v3 = IS_TRUE(value);
+ else if (strcasecmp(key, "ReportV4") == 0)
+ report_v4 = IS_TRUE(value);
if (fields_num < 3)
continue;
if (fields_num < 3)
continue;
- if (strcmp(fields[0], "proc2") == 0 && ignore_v2 == 0) {
+ if (strcmp(fields[0], "proc2") == 0 && report_v2) {
nfs_submit_fields_safe(/* version = */ 2, inst, fields + 2,
(size_t)(fields_num - 2), nfs2_procedures_names,
nfs2_procedures_names_num);
nfs_submit_fields_safe(/* version = */ 2, inst, fields + 2,
(size_t)(fields_num - 2), nfs2_procedures_names,
nfs2_procedures_names_num);
- } else if (strncmp(fields[0], "proc3", 5) == 0 && ignore_v3 == 0) {
+ } else if (strncmp(fields[0], "proc3", 5) == 0 && report_v3) {
nfs_submit_fields_safe(/* version = */ 3, inst, fields + 2,
(size_t)(fields_num - 2), nfs3_procedures_names,
nfs3_procedures_names_num);
nfs_submit_fields_safe(/* version = */ 3, inst, fields + 2,
(size_t)(fields_num - 2), nfs3_procedures_names,
nfs3_procedures_names_num);
- } else if (strcmp(fields[0], "proc4ops") == 0 && ignore_v4 == 0) {
+ } else if (strcmp(fields[0], "proc4ops") == 0 && report_v4) {
if (inst[0] == 's')
nfs_submit_nfs4_server(inst, fields + 2, (size_t)(fields_num - 2));
if (inst[0] == 's')
nfs_submit_nfs4_server(inst, fields + 2, (size_t)(fields_num - 2));
- } else if (strcmp(fields[0], "proc4") == 0 && ignore_v4 == 0) {
+ } else if (strcmp(fields[0], "proc4") == 0 && report_v4) {
if (inst[0] == 'c')
nfs_submit_nfs4_client(inst, fields + 2, (size_t)(fields_num - 2));
}
if (inst[0] == 'c')
nfs_submit_nfs4_client(inst, fields + 2, (size_t)(fields_num - 2));
}
#elif HAVE_LIBKSTAT
static int nfs_read(void) {
#elif HAVE_LIBKSTAT
static int nfs_read(void) {
nfs_read_kstat(nfs2_ksp_client, /* version = */ 2, "client",
nfs2_procedures_names, nfs2_procedures_names_num);
nfs_read_kstat(nfs2_ksp_server, /* version = */ 2, "server",
nfs2_procedures_names, nfs2_procedures_names_num);
}
nfs_read_kstat(nfs2_ksp_client, /* version = */ 2, "client",
nfs2_procedures_names, nfs2_procedures_names_num);
nfs_read_kstat(nfs2_ksp_server, /* version = */ 2, "server",
nfs2_procedures_names, nfs2_procedures_names_num);
}
nfs_read_kstat(nfs3_ksp_client, /* version = */ 3, "client",
nfs3_procedures_names, nfs3_procedures_names_num);
nfs_read_kstat(nfs3_ksp_server, /* version = */ 3, "server",
nfs3_procedures_names, nfs3_procedures_names_num);
}
nfs_read_kstat(nfs3_ksp_client, /* version = */ 3, "client",
nfs3_procedures_names, nfs3_procedures_names_num);
nfs_read_kstat(nfs3_ksp_server, /* version = */ 3, "server",
nfs3_procedures_names, nfs3_procedures_names_num);
}
nfs_read_kstat(nfs4_ksp_client, /* version = */ 4, "client",
nfs4_procedures_names, nfs4_procedures_names_num);
nfs_read_kstat(nfs4_ksp_server, /* version = */ 4, "server",
nfs_read_kstat(nfs4_ksp_client, /* version = */ 4, "client",
nfs4_procedures_names, nfs4_procedures_names_num);
nfs_read_kstat(nfs4_ksp_server, /* version = */ 4, "server",