#include "collectd.h"
#include "common.h"
#include "plugin.h"
-#include "utils_debug.h"
-#define MODULE_NAME "nfs"
-
-/* #if defined(KERNEL_LINUX) || defined(HAVE_LIBKSTAT) */
-#if KERNEL_LINUX
-# define NFS_HAVE_READ 1
-#else
-# define NFS_HAVE_READ 0
+#if !KERNEL_LINUX
+# error "No applicable input method."
#endif
/*
21 commit
*/
-static data_source_t procedure_dsrc[1] =
-{
- {"value", DS_TYPE_COUNTER, 0, 4294967295.0}
-};
-
-static data_set_t procedure_ds =
-{
- "nfs_procedure", 1, procedure_dsrc
-};
-
-#if NFS_HAVE_READ
static const char *nfs2_procedures_names[] =
{
"null",
vl.values = values;
vl.values_len = 1;
- vl.time = time (NULL);
- strcpy (vl.host, hostname);
- strcpy (vl.plugin, "nfs");
- strncpy (vl.plugin_instance, plugin_instance,
+ sstrncpy (vl.host, hostname_g, sizeof (vl.host));
+ sstrncpy (vl.plugin, "nfs", sizeof (vl.plugin));
+ sstrncpy (vl.plugin_instance, plugin_instance,
sizeof (vl.plugin_instance));
+ sstrncpy (vl.type, "nfs_procedure", sizeof (vl.type));
for (i = 0; i < len; i++)
{
- values[0].counter = val[i];
- strncpy (vl.type_instance, names[i],
+ values[0].derive = val[i];
+ sstrncpy (vl.type_instance, names[i],
sizeof (vl.type_instance));
- DBG ("%s-%s/nfs_procedure-%s = %llu",
+ DEBUG ("%s-%s/nfs_procedure-%s = %llu",
vl.plugin, vl.plugin_instance,
vl.type_instance, val[i]);
- plugin_dispatch_values ("nfs_procedure", &vl);
+ plugin_dispatch_values (&vl);
}
} /* void nfs_procedures_submit */
-#if KERNEL_LINUX
static void nfs_read_stats_file (FILE *fh, char *inst)
{
char buffer[BUFSIZE];
if ((numfields - 2) != nfs2_procedures_names_num)
{
- syslog (LOG_WARNING, "nfs plugin: Wrong "
+ WARNING ("nfs plugin: Wrong "
"number of fields (= %i) "
"for NFSv2 statistics.",
numfields - 2);
continue;
}
- snprintf (plugin_instance, sizeof (plugin_instance),
+ ssnprintf (plugin_instance, sizeof (plugin_instance),
"v2%s", inst);
- plugin_instance[DATA_MAX_NAME_LEN - 1] = '\0';
values = (unsigned long long *) malloc (nfs2_procedures_names_num * sizeof (unsigned long long));
if (values == NULL)
{
- syslog (LOG_ERR, "nfs plugin: malloc "
+ char errbuf[1024];
+ ERROR ("nfs plugin: malloc "
"failed: %s",
- strerror (errno));
+ sstrerror (errno, errbuf, sizeof (errbuf)));
continue;
}
if ((numfields - 2) != nfs3_procedures_names_num)
{
- syslog (LOG_WARNING, "nfs plugin: Wrong "
+ WARNING ("nfs plugin: Wrong "
"number of fields (= %i) "
"for NFSv3 statistics.",
numfields - 2);
continue;
}
- snprintf (plugin_instance, sizeof (plugin_instance),
+ ssnprintf (plugin_instance, sizeof (plugin_instance),
"v3%s", inst);
- plugin_instance[DATA_MAX_NAME_LEN - 1] = '\0';
values = (unsigned long long *) malloc (nfs3_procedures_names_num * sizeof (unsigned long long));
if (values == NULL)
{
- syslog (LOG_ERR, "nfs plugin: malloc "
+ char errbuf[1024];
+ ERROR ("nfs plugin: malloc "
"failed: %s",
- strerror (errno));
+ sstrerror (errno, errbuf, sizeof (errbuf)));
continue;
}
}
} /* while (fgets (buffer, BUFSIZE, fh) != NULL) */
} /* void nfs_read_stats_file */
-#endif /* defined(KERNEL_LINUX) */
#undef BUFSIZE
#if HAVE_LIBKSTAT && 0
static int nfs_read (void)
{
-#if KERNEL_LINUX
FILE *fh;
if ((fh = fopen ("/proc/net/rpc/nfs", "r")) != NULL)
fclose (fh);
}
-/* #endif defined(KERNEL_LINUX) */
-
-#elif HAVE_LIBKSTAT && 0
+#if HAVE_LIBKSTAT && 0
if (nfs2_ksp_client != NULL)
nfs2_read_kstat (nfs2_ksp_client, "client");
if (nfs2_ksp_server != NULL)
return (0);
}
-#endif /* NFS_HAVE_READ */
void module_register (void)
{
- plugin_register_data_set (&procedure_ds);
-
-#if NFS_HAVE_READ
plugin_register_read ("nfs", nfs_read);
-#endif
-}
-
-#undef MODULE_NAME
+} /* void module_register */