#include <getopt.h>
+#include <math.h>
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
* anyway. Also, lcc uses the type information for formatting the
* number only, so the real meaning does not matter. -tokkee */
dot = strchr (value, (int)'.');
- if (dot) { /* floating point value */
+ endptr = NULL;
+ if (strcasecmp (value, "U") == 0) {
+ values[values_len].gauge = NAN;
+ values_types[values_len] = LCC_TYPE_GAUGE;
+ }
+ else if (dot) { /* floating point value */
values[values_len].gauge = strtod (value, &endptr);
values_types[values_len] = LCC_TYPE_GAUGE;
}
A value list describes one data-set as handled by collectd. It is a colon
(C<:>) separated list of the time and the values. Each value is either given
as an integer if the data-type is a counter, or as a double if the data-type
-is a gauge value. The number of values and the data-types have to match the
-type specified in the identifier (see L<types.db(5)> for details). The time is
-specified as epoch (i.E<nbsp>e., standard UNIX time) or as a literal C<N>
-which will be interpreted as now.
+is a gauge value. A literal C<U> is interpreted as an undefined gauge value.
+The number of values and the data-types have to match the type specified in
+the identifier (see L<types.db(5)> for details). The time is specified as
+epoch (i.E<nbsp>e., standard UNIX time) or as a literal C<N> which will be
+interpreted as now.
=head1 EXAMPLES