Set the directory to store CSV-files under. Per default CSV-files are generated
beneath the daemon's working directory, i.E<nbsp>e. the B<BaseDir>.
+=item B<StoreRates> B<true|false>
+
+If set to B<true>, convert counter values to rates. If set to B<false> (the
+default) counter values are stored as is, i.E<nbsp>e. as an increasing integer
+number.
+
=back
=head2 Plugin C<df>
#include "collectd.h"
#include "plugin.h"
#include "common.h"
+#include "utils_cache.h"
/*
* Private variables
*/
static const char *config_keys[] =
{
- "DataDir"
+ "DataDir",
+ "StoreRates"
};
static int config_keys_num = STATIC_ARRAY_SIZE (config_keys);
static char *datadir = NULL;
+static int store_rates = 0;
static int value_list_to_string (char *buffer, int buffer_len,
const data_set_t *ds, const value_list_t *vl)
int offset;
int status;
int i;
+ gauge_t *rates = NULL;
memset (buffer, '\0', buffer_len);
return (-1);
if (ds->ds[i].type == DS_TYPE_COUNTER)
- status = snprintf (buffer + offset, buffer_len - offset,
- ",%llu", vl->values[i].counter);
- else
+ {
+ if (store_rates == 0)
+ {
+ status = snprintf (buffer + offset,
+ buffer_len - offset,
+ ",%llu",
+ vl->values[i].counter);
+ }
+ else /* if (store_rates == 1) */
+ {
+ if (rates == NULL)
+ rates = uc_get_rate (ds, vl);
+ if (rates == NULL)
+ {
+ WARNING ("csv plugin: "
+ "uc_get_rate failed.");
+ return (-1);
+ }
+ status = snprintf (buffer + offset,
+ buffer_len - offset,
+ ",%lf", rates[i]);
+ }
+ }
+ else /* if (ds->ds[i].type == DS_TYPE_GAUGE) */
+ {
status = snprintf (buffer + offset, buffer_len - offset,
",%lf", vl->values[i].gauge);
+ }
if ((status < 1) || (status >= (buffer_len - offset)))
+ {
+ sfree (rates);
return (-1);
+ }
offset += status;
} /* for ds->ds_num */
+ sfree (rates);
return (0);
} /* int value_list_to_string */
}
}
}
+ else if (strcasecmp ("StoreRates", key) == 0)
+ {
+ if ((strcasecmp ("True", value) == 0)
+ || (strcasecmp ("Yes", value) == 0)
+ || (strcasecmp ("On", value) == 0))
+ {
+ store_rates = 1;
+ }
+ else
+ {
+ store_rates = 0;
+ }
+ }
else
{
return (-1);