[with_libyajl="no (yajl/yajl_parse.h not found)"]
)
+ AC_CHECK_HEADERS([yajl/yajl_tree.h],
+ [with_libyajl2="yes"],
+ [with_libyajl2="no (yajl/yajl_tree.h not found)"]
+ )
+
AC_CHECK_HEADERS([yajl/yajl_version.h])
CPPFLAGS="$SAVE_CPPFLAGS"
[with_libyajl="no (Symbol 'yajl_alloc' not found)"]
)
+ AC_CHECK_LIB([yajl], [yajl_tree_parse],
+ [with_libyajl2="yes"],
+ [with_libyajl2="no (Symbol 'yajl_tree_parse' not found)"]
+ )
+
LDFLAGS="$SAVE_LDFLAGS"
fi
plugin_multimeter="no"
plugin_nfs="no"
plugin_numa="no"
+plugin_ovs_events="no"
plugin_perl="no"
plugin_pinba="no"
plugin_processes="no"
plugin_swap="yes"
fi
fi
+
+if test "x$with_libyajl" = "xyes" && test "x$with_libyajl2" = "xyes"
+then
+ plugin_ovs_events="yes"
+fi
+
if test "x$have_sysctlbyname" = "xyes"; then
plugin_contextswitch="yes"
plugin_cpu="yes"
AC_PLUGIN([openldap], [$with_libldap], [OpenLDAP statistics])
AC_PLUGIN([openvpn], [yes], [OpenVPN client statistics])
AC_PLUGIN([oracle], [$with_oracle], [Oracle plugin])
-AC_PLUGIN([ovs_events], [$with_libyajl], [OVS events plugin])
+AC_PLUGIN([ovs_events], [$plugin_ovs_events], [OVS events plugin])
AC_PLUGIN([perl], [$plugin_perl], [Embed a Perl interpreter])
AC_PLUGIN([pf], [$have_net_pfvar_h], [BSD packet filter (PF) statistics])
# FIXME: Check for libevent, too.
/* Dispatch OVS interface link status value to collectd */
static void
ovs_events_link_status_submit(const ovs_events_iface_info_t *ifinfo) {
- value_t values[1];
value_list_t vl = VALUE_LIST_INIT;
meta_data_t *meta = NULL;
} else
ERROR(OVS_EVENTS_PLUGIN ": create metadata failed");
- values[0].gauge = (gauge_t)ifinfo->link_status;
vl.time = cdtime();
- vl.values = values;
- vl.values_len = STATIC_ARRAY_SIZE(values);
- sstrncpy(vl.host, hostname_g, sizeof(vl.host));
+ vl.values = &(value_t){.gauge = (gauge_t)ifinfo->link_status};
+ vl.values_len = 1;
sstrncpy(vl.plugin, OVS_EVENTS_PLUGIN, sizeof(vl.plugin));
sstrncpy(vl.plugin_instance, ifinfo->name, sizeof(vl.plugin_instance));
sstrncpy(vl.type, "gauge", sizeof(vl.type));
}
/* Read OVS DB interface link status callback */
-static int ovs_events_plugin_read(user_data_t *ud) {
- (void)ud; /* unused argument */
+static int ovs_events_plugin_read(__attribute__((unused)) user_data_t *u) {
_Bool is_connected = 0;
OVS_EVENTS_CTX_LOCK { is_connected = ovs_events_ctx.is_db_available; }
if (is_connected)