projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Let plugin_dispatch_values() set value_list.time in case of 'now'.
[collectd.git]
/
src
/
users.c
diff --git
a/src/users.c
b/src/users.c
index
e600aab
..
b605ff8
100644
(file)
--- a/
src/users.c
+++ b/
src/users.c
@@
-4,8
+4,7
@@
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
+ * Free Software Foundation; only version 2 of the license is applicable.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-24,33
+23,22
@@
#include "common.h"
#include "plugin.h"
#include "common.h"
#include "plugin.h"
+#if HAVE_STATGRAB_H
+# include <statgrab.h>
+#endif /* HAVE_STATGRAB_H */
+
#if HAVE_UTMPX_H
# include <utmpx.h>
#if HAVE_UTMPX_H
# include <utmpx.h>
-#else /* !HAVE_UTMPX_H */
-# if HAVE_UTMP_H
-# include <utmp.h>
-# endif /* HAVE_UTMP_H */
-#endif /* HAVE_UTMPX_H */
+/* #endif HAVE_UTMPX_H */
-#define MODULE_NAME "users"
+#elif HAVE_UTMP_H
+# include <utmp.h>
+/* #endif HAVE_UTMP_H */
-#if HAVE_GETUTXENT || HAVE_GETUTENT
-# define USERS_HAVE_READ 1
#else
#else
-#
define USERS_HAVE_READ 0
+#
error "No applicable input method."
#endif
#endif
-static data_source_t dsrc[1] =
-{
- {"users", DS_TYPE_GAUGE, 0.0, 65535.0}
-};
-
-static data_set_t ds =
-{
- "users", 1, dsrc
-};
-
-#if USERS_HAVE_READ
static void users_submit (gauge_t value)
{
value_t values[1];
static void users_submit (gauge_t value)
{
value_t values[1];
@@
-60,11
+48,11
@@
static void users_submit (gauge_t value)
vl.values = values;
vl.values_len = 1;
vl.values = values;
vl.values_len = 1;
-
vl.time = time (NULL
);
- s
trcpy (vl.host, hostname_g
);
- s
trcpy (vl.plugin, "users"
);
+
sstrncpy (vl.host, hostname_g, sizeof (vl.host)
);
+ s
strncpy (vl.plugin, "users", sizeof (vl.plugin)
);
+ s
strncpy (vl.type, "users", sizeof (vl.plugin)
);
- plugin_dispatch_values (
"users",
&vl);
+ plugin_dispatch_values (&vl);
} /* void users_submit */
static int users_read (void)
} /* void users_submit */
static int users_read (void)
@@
-103,19
+91,26
@@
static int users_read (void)
endutent();
users_submit (users);
endutent();
users_submit (users);
-#endif /* HAVE_GETUTENT */
+/* #endif HAVE_GETUTENT */
+
+#elif HAVE_LIBSTATGRAB
+ sg_user_stats *us;
+
+ us = sg_get_user_stats ();
+ if (us == NULL)
+ return (-1);
+
+ users_submit ((gauge_t) us->num_entries);
+/* #endif HAVE_LIBSTATGRAB */
+
+#else
+# error "No applicable input method."
+#endif
return (0);
} /* int users_read */
return (0);
} /* int users_read */
-#endif /* USERS_HAVE_READ */
-void module_register (
modreg_e loa
d)
+void module_register (
voi
d)
{
{
- if (load & MR_DATASETS)
- plugin_register_data_set (&ds);
-
-#if USERS_HAVE_READ
- if (load & MR_READ)
- plugin_register_read ("users", users_read);
-#endif
+ plugin_register_read ("users", users_read);
} /* void module_register(void) */
} /* void module_register(void) */