AC_FUNC_STRERROR_R
AC_CACHE_CHECK([for strtok_r],
- [have_strtok_r_default],
+ [c_cv_have_strtok_r_default],
AC_LINK_IFELSE(
AC_LANG_PROGRAM(
[[[[
printf ("token = %s;\n", token);
}
]]]]),
- [have_strtok_r_default="yes"],
- [have_strtok_r_default="no"]
+ [c_cv_have_strtok_r_default="yes"],
+ [c_cv_have_strtok_r_default="no"]
)
)
-if test "x$have_strtok_r_default" = "xno"
+if test "x$c_cv_have_strtok_r_default" = "xno"
then
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -D_REENTRANT=1"
AC_CACHE_CHECK([if strtok_r needs _REENTRANT],
- [have_strtok_r_reentrant],
+ [c_cv_have_strtok_r_reentrant],
AC_LINK_IFELSE(
AC_LANG_PROGRAM(
[[[[
printf ("token = %s;\n", token);
}
]]]]),
- [have_strtok_r_reentrant="yes"],
+ [c_cv_have_strtok_r_reentrant="yes"],
[AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])]
)
)
[nan_type="none"])
if test "x$nan_type" = "xnone"; then
AC_CACHE_CHECK([whether NAN is defined by default],
- [have_nan_default],
+ [c_cv_have_nan_default],
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[[
else
return 1;
]]),
- [have_nan_default="yes"],
- [have_nan_default="no"]
+ [c_cv_have_nan_default="yes"],
+ [c_cv_have_nan_default="no"]
)
)
- if test "x$have_nan_default" = "xyes"
+ if test "x$c_cv_have_nan_default" = "xyes"
then
nan_type="default"
fi
fi
if test "x$nan_type" = "xnone"; then
AC_CACHE_CHECK([whether NAN is defined by __USE_ISOC99],
- [have_nan_isoc],
+ [c_cv_have_nan_isoc],
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[[
else
return 1;
]]),
- [have_nan_isoc="yes"],
- [have_nan_isoc="no"]
+ [c_cv_have_nan_isoc="yes"],
+ [c_cv_have_nan_isoc="no"]
)
)
- if test "x$have_nan_isoc" = "xyes"
+ if test "x$c_cv_have_nan_isoc" = "xyes"
then
nan_type="isoc99"
fi
fi
if test "x$nan_type" = "xnone"; then
AC_CACHE_CHECK([whether NAN can be defined by 0/0],
- [have_nan_zero],
+ [c_cv_have_nan_zero],
AC_RUN_IFELSE(
AC_LANG_PROGRAM(
[[
else
return 1;
]]),
- [have_nan_zero="yes"],
- [have_nan_zero="no"]
+ [c_cv_have_nan_zero="yes"],
+ [c_cv_have_nan_zero="no"]
)
)
- if test "x$have_nan_zero" = "xyes"
+ if test "x$c_cv_have_nan_zero" = "xyes"
then
nan_type="zero"
fi
if test "x$fp_layout_type" = "xunknown"; then
AC_CACHE_CHECK([if doubles are stored in x86 representation],
- [fp_layout_need_nothing],
+ [c_cv_fp_layout_need_nothing],
AC_RUN_IFELSE(
AC_LANG_PROGRAM(
[[[[
else
return (1);
]]]]),
- [fp_layout_need_nothing="yes"],
- [fp_layout_need_nothing="no"]
+ [c_cv_fp_layout_need_nothing="yes"],
+ [c_cv_fp_layout_need_nothing="no"]
)
)
- if test "x$fp_layout_need_nothing" = "xyes"; then
+ if test "x$c_cv_fp_layout_need_nothing" = "xyes"; then
fp_layout_type="nothing"
fi
fi
if test "x$fp_layout_type" = "xunknown"; then
AC_CACHE_CHECK([if endianflip converts to x86 representation],
- [fp_layout_need_endianflip],
+ [c_cv_fp_layout_need_endianflip],
AC_RUN_IFELSE(
AC_LANG_PROGRAM(
[[[[
else
return (1);
]]]]),
- [fp_layout_need_endianflip="yes"],
- [fp_layout_need_endianflip="no"]
+ [c_cv_fp_layout_need_endianflip="yes"],
+ [c_cv_fp_layout_need_endianflip="no"]
)
)
- if test "x$fp_layout_need_endianflip" = "xyes"; then
+ if test "x$c_cv_fp_layout_need_endianflip" = "xyes"; then
fp_layout_type="endianflip"
fi
fi
if test "x$fp_layout_type" = "xunknown"; then
AC_CACHE_CHECK([if intswap converts to x86 representation],
- [fp_layout_need_intswap],
+ [c_cv_fp_layout_need_intswap],
AC_RUN_IFELSE(
AC_LANG_PROGRAM(
[[[[
else
return (1);
]]]]),
- [fp_layout_need_intswap="yes"],
- [fp_layout_need_intswap="no"]
+ [c_cv_fp_layout_need_intswap="yes"],
+ [c_cv_fp_layout_need_intswap="no"]
)
)
- if test "x$fp_layout_need_intswap" = "xyes"; then
+ if test "x$c_cv_fp_layout_need_intswap" = "xyes"; then
fp_layout_type="intswap"
fi
fi
if test "x$have_getmntent" = "xc"; then
AC_CACHE_CHECK([whether getmntent takes one argument],
- [have_one_getmntent],
+ [c_cv_have_one_getmntent],
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT
#include <mntent.h>
me = getmntent (fh);
]]
),
- [have_one_getmntent="yes"],
- [have_one_getmntent="no"]
+ [c_cv_have_one_getmntent="yes"],
+ [c_cv_have_one_getmntent="no"]
)
)
AC_CACHE_CHECK([whether getmntent takes two arguments],
- [have_two_getmntent],
+ [c_cv_have_two_getmntent],
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([[AC_INCLUDES_DEFAULT
#include <sys/mnttab.h>
status = getmntent (fh, &mt);
]]
),
- [have_two_getmntent="yes"],
- [have_two_getmntent="no"]
+ [c_cv_have_two_getmntent="yes"],
+ [c_cv_have_two_getmntent="no"]
)
)
fi
# Check for different versions of `getmntent' here..
if test "x$have_getmntent" = "xc"; then
- if test "x$have_one_getmntent" = "xyes"; then
+ if test "x$c_cv_have_one_getmntent" = "xyes"; then
AC_DEFINE(HAVE_ONE_GETMNTENT, 1,
[Define if the function getmntent exists and takes one argument.])
fi
- if test "x$have_two_getmntent" = "xyes"; then
+ if test "x$c_cv_have_two_getmntent" = "xyes"; then
AC_DEFINE(HAVE_TWO_GETMNTENT, 1,
[Define if the function getmntent exists and takes two arguments.])
fi
AM_CONDITIONAL(BUILD_WITH_LIBESMTP, test "x$with_libesmtp" = "xyes")
# }}}
+# --with-libganglia {{{
+AC_ARG_WITH(libganglia, [AS_HELP_STRING([--with-libganglia@<:@=PREFIX@:>@], [Path to libganglia.])],
+[
+ if test -f "$withval" && test -x "$withval"
+ then
+ with_libganglia_config="$withval"
+ with_libganglia="yes"
+ else if test -f "$withval/bin/ganglia-config" && test -x "$withval/bin/ganglia-config"
+ then
+ with_libganglia_config="$withval/bin/ganglia-config"
+ with_libganglia="yes"
+ else if test -d "$withval"
+ then
+ GANGLIA_CPPFLAGS="-I$withval/include"
+ GANGLIA_LDFLAGS="-L$withval/lib"
+ with_libganglia="yes"
+ else
+ with_libganglia_config="ganglia-config"
+ with_libganglia="$withval"
+ fi; fi; fi
+],
+[
+ with_libganglia_config="ganglia-config"
+ with_libganglia="yes"
+])
+
+if test "x$with_libganglia" = "xyes" && test "x$with_libganglia_config" != "x"
+then
+ if test "x$GANGLIA_CPPFLAGS" = "x"
+ then
+ GANGLIA_CPPFLAGS=`"$with_libganglia_config" --cflags 2>/dev/null`
+ fi
+
+ if test "x$GANGLIA_LDFLAGS" = "x"
+ then
+ GANGLIA_LDFLAGS=`"$with_libganglia_config" --ldflags 2>/dev/null`
+ fi
+
+ if test "x$GANGLIA_LIBS" = "x"
+ then
+ GANGLIA_LIBS=`"$with_libganglia_config" --libs 2>/dev/null`
+ fi
+fi
+
+SAVE_CPPFLAGS="$CPPFLAGS"
+SAVE_LDFLAGS="$LDFLAGS"
+CPPFLAGS="$CPPFLAGS $GANGLIA_CPPFLAGS"
+LDFLAGS="$LDFLAGS $GANGLIA_LDFLAGS"
+
+if test "x$with_libganglia" = "xyes"
+then
+ AC_CHECK_HEADERS(gm_protocol.h,
+ [
+ AC_DEFINE(HAVE_GM_PROTOCOL_H, 1,
+ [Define to 1 if you have the <gm_protocol.h> header file.])
+ ], [with_libganglia="no (gm_protocol.h not found)"])
+fi
+
+if test "x$with_libganglia" = "xyes"
+then
+ AC_CHECK_LIB(ganglia, xdr_Ganglia_value_msg,
+ [
+ AC_DEFINE(HAVE_LIBGANGLIA, 1,
+ [Define to 1 if you have the ganglia library (-lganglia).])
+ ], [with_libganglia="no (symbol xdr_Ganglia_value_msg not found)"])
+fi
+
+CPPFLAGS="$SAVE_CPPFLAGS"
+LDFLAGS="$SAVE_LDFLAGS"
+
+AC_SUBST(GANGLIA_CPPFLAGS)
+AC_SUBST(GANGLIA_LDFLAGS)
+AC_SUBST(GANGLIA_LIBS)
+AM_CONDITIONAL(BUILD_WITH_LIBGANGLIA, test "x$with_libganglia" = "xyes")
+# }}}
+
# --with-libiptc {{{
with_own_libiptc="no"
AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to libiptc.])],
AM_CONDITIONAL(BUILD_WITH_LIBPCAP, test "x$with_libpcap" = "xyes")
# }}}
-# --with-libpcre {{{
-with_pcre_config="pcre-config"
-with_pcre_cflags=""
-with_pcre_libs=""
-AC_ARG_WITH(libpcre, [AS_HELP_STRING([--with-libpcre@<:@=PREFIX@:>@],
- [Path to libpcre.])],
- [
- if test "x$withval" = "xno"
- then
- with_libpcre="no"
- else if test "x$withval" = "xyes"
- then
- with_libpcre="yes"
- else
- if test -f "$withval" && test -x "$withval"
- then
- with_pcre_config="$withval"
- else if test -x "$withval/bin/pcre-config"
- then
- with_pcre_config="$withval/bin/pcre-config"
- fi; fi
- with_libpcre="yes"
- fi; fi
- ],
- [
- with_libpcre="yes"
- ])
-
-if test "x$with_libpcre" = "xyes"
-then
- with_pcre_cflags=`$with_pcre_config --cflags 2>/dev/null`
- pcre_config_status=$?
-
- if test $pcre_config_status -ne 0
- then
- with_libpcre="no ($with_pcre_config failed)"
- else
- SAVE_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $with_pcre_cflags"
-
- AC_CHECK_HEADERS(pcre.h, [], [with_libpcre="no (pcre.h not found)"], [])
-
- CPPFLAGS="$SAVE_CPPFLAGS"
- fi
-fi
-
-if test "x$with_libpcre" = "xyes"
-then
- with_pcre_libs=`$with_pcre_config --libs 2>/dev/null`
- pcre_config_status=$?
-
- if test $pcre_config_status -ne 0
- then
- with_libpcre="no ($with_pcre_config failed)"
- else
- AC_CHECK_LIB(pcre, pcre_compile,
- [with_libpcre="yes"],
- [with_libpcre="no (symbol 'pcre_compile' not found)"],
- [$with_pcre_libs])
- fi
-fi
-
-if test "x$with_libpcre" = "xyes"
-then
- BUILD_WITH_LIBPCRE_CFLAGS="$with_pcre_cflags"
- BUILD_WITH_LIBPCRE_LIBS="$with_pcre_libs"
- AC_SUBST(BUILD_WITH_LIBPCRE_CFLAGS)
- AC_SUBST(BUILD_WITH_LIBPCRE_LIBS)
-fi
-AM_CONDITIONAL(BUILD_WITH_LIBPCRE, test "x$with_libpcre" = "xyes")
-# }}}
-
# --with-libperl {{{
perl_interpreter="perl"
AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])],
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
AC_CACHE_CHECK([for libperl],
- [have_libperl],
+ [c_cv_have_libperl],
AC_LINK_IFELSE(
AC_LANG_PROGRAM(
[[
newSVpv ("Collectd::Plugin::FooBar", 24),
Nullsv);
]]),
- [have_libperl="yes"],
- [have_libperl="no"]
+ [c_cv_have_libperl="yes"],
+ [c_cv_have_libperl="no"]
)
)
- if test "x$have_libperl" = "xyes"
+ if test "x$c_cv_have_libperl" = "xyes"
then
AC_DEFINE(HAVE_LIBPERL, 1, [Define if libperl is present and usable.])
AC_SUBST(PERL_CFLAGS)
LDFLAGS=$SAVE_LDFLAGS
else if test -z "$perl_interpreter"; then
with_libperl="no (no perl interpreter found)"
- have_libperl="no"
+ c_cv_have_libperl="no"
fi; fi
AM_CONDITIONAL(BUILD_WITH_LIBPERL, test "x$with_libperl" = "xyes")
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
AC_CACHE_CHECK([if perl supports ithreads],
- [have_perl_ithreads],
+ [c_cv_have_perl_ithreads],
AC_LINK_IFELSE(
AC_LANG_PROGRAM(
[[
#endif /* !defined(USE_ITHREADS) */
]],
[[ ]]),
- [have_perl_ithreads="yes"],
- [have_perl_ithreads="no"]
+ [c_cv_have_perl_ithreads="yes"],
+ [c_cv_have_perl_ithreads="no"]
)
)
- if test "x$have_perl_ithreads" = "xyes"
+ if test "x$c_cv_have_perl_ithreads" = "xyes"
then
AC_DEFINE(HAVE_PERL_ITHREADS, 1, [Define if Perl supports ithreads.])
fi
LDFLAGS=$SAVE_LDFLAGS
fi
-have_broken_perl_load_module="no"
+c_cv_have_broken_perl_load_module="no"
if test "x$with_libperl" = "xyes"
then
SAVE_CFLAGS=$CFLAGS
LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
AC_CACHE_CHECK([for broken Perl_load_module()],
- [have_broken_perl_load_module],
+ [c_cv_have_broken_perl_load_module],
AC_LINK_IFELSE(
AC_LANG_PROGRAM(
[[
newSVpv ("Collectd::Plugin::FooBar", 24),
Nullsv);
]]),
- [have_broken_perl_load_module="no"],
- [have_broken_perl_load_module="yes"]
+ [c_cv_have_broken_perl_load_module="no"],
+ [c_cv_have_broken_perl_load_module="yes"]
)
)
LDFLAGS=$SAVE_LDFLAGS
fi
AM_CONDITIONAL(HAVE_BROKEN_PERL_LOAD_MODULE,
- test "x$have_broken_perl_load_module" = "xyes")
+ test "x$c_cv_have_broken_perl_load_module" = "xyes")
if test "x$with_libperl" = "xyes"
then
plugin_nfs="no"
plugin_perl="no"
plugin_processes="no"
+plugin_protocols="no"
plugin_serial="no"
plugin_swap="no"
plugin_tape="no"
plugin_tcpconns="no"
+plugin_ted="no"
plugin_thermal="no"
plugin_users="no"
+plugin_uptime="no"
plugin_vmem="no"
plugin_vserver="no"
plugin_wireless="no"
plugin_memory="yes"
plugin_nfs="yes"
plugin_processes="yes"
+ plugin_protocols="yes"
plugin_serial="yes"
plugin_swap="yes"
plugin_tcpconns="yes"
plugin_thermal="yes"
+ plugin_uptime="yes"
plugin_vmem="yes"
plugin_vserver="yes"
plugin_wireless="yes"
fi
# Solaris
+if test "x$with_kstat" = "xyes"
+then
+ plugin_uptime="yes"
+fi
+
if test "x$with_devinfo$with_kstat" = "xyesyes"
then
plugin_cpu="yes"
then
plugin_cpu="yes"
plugin_swap="yes"
+ plugin_uptime="yes"
fi
if test "x$have_sysctlbyname" = "xyes"
then
plugin_load="yes"
fi
-if test "x$have_libperl$have_perl_ithreads" = "xyesyes"
+if test "x$c_cv_have_libperl$c_cv_have_perl_ithreads" = "xyesyes"
then
plugin_perl="yes"
fi
if test "x$have_termios_h" = "xyes"
then
plugin_multimeter="yes"
+ plugin_ted="yes"
fi
if test "x$have_thread_info" = "xyes"
AC_PLUGIN([entropy], [$plugin_entropy], [Entropy statistics])
AC_PLUGIN([exec], [yes], [Execution of external programs])
AC_PLUGIN([filecount], [yes], [Count files in directories])
+AC_PLUGIN([gmond], [$with_libganglia], [Ganglia plugin])
AC_PLUGIN([hddtemp], [yes], [Query hddtempd])
AC_PLUGIN([interface], [$plugin_interface], [Interface traffic statistics])
AC_PLUGIN([ipmi], [$plugin_ipmi], [IPMI sensor statistics])
AC_PLUGIN([postgresql], [$with_libpq], [PostgreSQL database statistics])
AC_PLUGIN([powerdns], [yes], [PowerDNS statistics])
AC_PLUGIN([processes], [$plugin_processes], [Process statistics])
+AC_PLUGIN([protocols], [$plugin_protocols], [Protocol (IP, TCP, ...) statistics])
AC_PLUGIN([rrdcached], [$librrd_rrdc_update], [RRDTool output plugin])
AC_PLUGIN([rrdtool], [$with_librrd], [RRDTool output plugin])
AC_PLUGIN([sensors], [$with_libsensors], [lm_sensors statistics])
AC_PLUGIN([snmp], [$with_libnetsnmp], [SNMP querying plugin])
AC_PLUGIN([swap], [$plugin_swap], [Swap usage statistics])
AC_PLUGIN([syslog], [$have_syslog], [Syslog logging plugin])
+AC_PLUGIN([table], [yes], [Parsing of tabular data])
AC_PLUGIN([tail], [yes], [Parsing of logfiles])
AC_PLUGIN([tape], [$plugin_tape], [Tape drive statistics])
AC_PLUGIN([target_notification], [yes], [The notification target])
AC_PLUGIN([target_set], [yes], [The set target])
AC_PLUGIN([tcpconns], [$plugin_tcpconns], [TCP connection statistics])
AC_PLUGIN([teamspeak2], [yes], [TeamSpeak2 server statistics])
+AC_PLUGIN([ted], [$plugin_ted], [Read The Energy Detective values])
AC_PLUGIN([thermal], [$plugin_thermal], [Linux ACPI thermal zone statistics])
AC_PLUGIN([unixsock], [yes], [Unixsock communication plugin])
+AC_PLUGIN([uptime], [$plugin_uptime], [Uptime statistics])
AC_PLUGIN([users], [$plugin_users], [User statistics])
AC_PLUGIN([uuid], [yes], [UUID as hostname plugin])
AC_PLUGIN([vmem], [$plugin_vmem], [Virtual memory statistics])
AC_PLUGIN([wireless], [$plugin_wireless], [Wireless statistics])
AC_PLUGIN([xmms], [$with_libxmms], [XMMS statistics])
+dnl Default configuration file
+# Load either syslog or logfile
+LOAD_PLUGIN_SYSLOG=""
+LOAD_PLUGIN_LOGFILE=""
+
+AC_MSG_CHECKING([which default log plugin to load])
+default_log_plugin="none"
+if test "x$enable_syslog" = "xyes"
+then
+ default_log_plugin="syslog"
+else
+ LOAD_PLUGIN_SYSLOG="##"
+fi
+
+if test "x$enable_logfile" = "xyes"
+then
+ if test "x$default_log_plugin" = "xnone"
+ then
+ default_log_plugin="logfile"
+ else
+ LOAD_PLUGIN_LOGFILE="#"
+ fi
+else
+ LOAD_PLUGIN_LOGFILE="##"
+fi
+AC_MSG_RESULT([$default_log_plugin])
+
+AC_SUBST(LOAD_PLUGIN_SYSLOG)
+AC_SUBST(LOAD_PLUGIN_LOGFILE)
+
+DEFAULT_LOG_LEVEL="info"
+if test "x$enable_debug" = "xyes"
+then
+ DEFAULT_LOG_LEVEL="debug"
+fi
+AC_SUBST(DEFAULT_LOG_LEVEL)
+
+# Load only one of rrdtool, network, csv in the default config.
+LOAD_PLUGIN_RRDTOOL=""
+LOAD_PLUGIN_NETWORK=""
+LOAD_PLUGIN_CSV=""
+
+AC_MSG_CHECKING([which default write plugin to load])
+default_write_plugin="none"
+if test "x$enable_rrdtool" = "xyes"
+then
+ default_write_plugin="rrdtool"
+else
+ LOAD_PLUGIN_RRDTOOL="##"
+fi
+
+if test "x$enable_network" = "xyes"
+then
+ if test "x$default_write_plugin" = "xnone"
+ then
+ default_write_plugin="network"
+ else
+ LOAD_PLUGIN_NETWORK="#"
+ fi
+else
+ LOAD_PLUGIN_NETWORK="##"
+fi
+
+if test "x$enable_csv" = "xyes"
+then
+ if test "x$default_write_plugin" = "xnone"
+ then
+ default_write_plugin="csv"
+ else
+ LOAD_PLUGIN_CSV="#"
+ fi
+else
+ LOAD_PLUGIN_CSV="##"
+fi
+AC_MSG_RESULT([$default_write_plugin])
+
+AC_SUBST(LOAD_PLUGIN_RRDTOOL)
+AC_SUBST(LOAD_PLUGIN_NETWORK)
+AC_SUBST(LOAD_PLUGIN_CSV)
+
dnl ip_vs.h
if test "x$ac_system" = "xLinux" \
&& test "x$have_net_ip_vs_h$have_ip_vs_h" = "xnono"
libopenipmi . . . . . $with_libopenipmipthread
liboping . . . . . . $with_liboping
libpcap . . . . . . . $with_libpcap
- libpcre . . . . . . . $with_libpcre
libperl . . . . . . . $with_libperl
libpq . . . . . . . . $with_libpq
libpthread . . . . . $with_libpthread
entropy . . . . . . . $enable_entropy
exec . . . . . . . . $enable_exec
filecount . . . . . . $enable_filecount
+ gmond . . . . . . . . $enable_gmond
hddtemp . . . . . . . $enable_hddtemp
interface . . . . . . $enable_interface
ipmi . . . . . . . . $enable_ipmi
postgresql . . . . . $enable_postgresql
powerdns . . . . . . $enable_powerdns
processes . . . . . . $enable_processes
+ protocols . . . . . . $enable_protocols
rrdcached . . . . . . $enable_rrdcached
rrdtool . . . . . . . $enable_rrdtool
sensors . . . . . . . $enable_sensors
snmp . . . . . . . . $enable_snmp
swap . . . . . . . . $enable_swap
syslog . . . . . . . $enable_syslog
+ table . . . . . . . . $enable_table
tail . . . . . . . . $enable_tail
tape . . . . . . . . $enable_tape
target_notification . $enable_target_notification
target_set . . . . . $enable_target_set
tcpconns . . . . . . $enable_tcpconns
teamspeak2 . . . . . $enable_teamspeak2
+ ted . . . . . . . . . $enable_ted
thermal . . . . . . . $enable_thermal
unixsock . . . . . . $enable_unixsock
+ uptime . . . . . . . $enable_uptime
users . . . . . . . . $enable_users
uuid . . . . . . . . $enable_uuid
vmem . . . . . . . . $enable_vmem