#include <mysql/mysql.h>
#endif
-#if COLLECT_LIBMYSQL
+#if HAVE_LIBMYSQLCLIENT
# define MYSQL_HAVE_READ 1
#else
# define MYSQL_HAVE_READ 0
/* TODO: Understand `Select_*' and possibly do that stuff as well.. */
-static data_source_t data_source_counter[1] =
-{
- {"value", DS_TYPE_COUNTER, 0, NAN}
-};
-
-static data_set_t ds_commands =
-{
- "mysql_commands", 1, data_source_counter
-};
-
-static data_set_t ds_handler =
-{
- "mysql_handler", 1, data_source_counter
-};
-
-static data_source_t data_source_qcache[5] =
-{
- {"hits", DS_TYPE_COUNTER, 0, NAN},
- {"inserts", DS_TYPE_COUNTER, 0, NAN},
- {"not_cached", DS_TYPE_COUNTER, 0, NAN},
- {"lowmem_prunes", DS_TYPE_COUNTER, 0, NAN},
- {"queries_in_cache", DS_TYPE_GAUGE, 0, NAN}
-};
-
-static data_set_t ds_qcache =
-{
- "mysql_qcache", 5, data_source_qcache
-};
-
-static data_source_t data_source_threads[4] =
-{
- {"running", DS_TYPE_GAUGE, 0, NAN},
- {"connected", DS_TYPE_GAUGE, 0, NAN},
- {"cached", DS_TYPE_GAUGE, 0, NAN},
- {"created", DS_TYPE_COUNTER, 0, NAN}
-};
-
-static data_set_t ds_threads =
-{
- "mysql_threads", 4, data_source_threads
-};
-
-static data_source_t data_source_octets[2] =
-{
- {"rx", DS_TYPE_COUNTER, 0, 4294967295.0},
- {"tx", DS_TYPE_COUNTER, 0, 4294967295.0}
-};
-
-static data_set_t ds_octets =
-{
- "mysql_octets", 2, data_source_octets
-};
-
#if MYSQL_HAVE_READ
static const char *config_keys[] =
{
static int wait_for = 0;
static int wait_increase = 60;
- int step;
-
if (state != 0)
{
int err;
if ((err = mysql_ping (con)) != 0)
{
- syslog (LOG_WARNING, "mysql_ping failed: %s", mysql_error (con));
+ WARNING ("mysql_ping failed: %s", mysql_error (con));
state = 0;
}
else
}
}
- step = atoi (COLLECTD_STEP);
-
if (wait_for > 0)
{
- wait_for -= step;
+ wait_for -= interval_g;
return (NULL);
}
if ((con = mysql_init (con)) == NULL)
{
- syslog (LOG_ERR, "mysql_init failed: %s", mysql_error (con));
+ ERROR ("mysql_init failed: %s", mysql_error (con));
state = 0;
return (NULL);
}
if (mysql_real_connect (con, host, user, pass, db, 0, NULL, 0) == NULL)
{
- syslog (LOG_ERR, "mysql_real_connect failed: %s", mysql_error (con));
+ ERROR ("mysql_real_connect failed: %s", mysql_error (con));
state = 0;
return (NULL);
}
vl.values = values;
vl.values_len = 1;
vl.time = time (NULL);
- strcpy (vl.host, hostname);
+ strcpy (vl.host, hostname_g);
strcpy (vl.plugin, "mysql");
strncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
vl.values = values;
vl.values_len = 5;
vl.time = time (NULL);
- strcpy (vl.host, hostname);
+ strcpy (vl.host, hostname_g);
strcpy (vl.plugin, "mysql");
plugin_dispatch_values ("mysql_qcache", &vl);
vl.values = values;
vl.values_len = 4;
vl.time = time (NULL);
- strcpy (vl.host, hostname);
+ strcpy (vl.host, hostname_g);
strcpy (vl.plugin, "mysql");
plugin_dispatch_values ("mysql_threads", &vl);
vl.values = values;
vl.values_len = 2;
vl.time = time (NULL);
- strcpy (vl.host, hostname);
+ strcpy (vl.host, hostname_g);
strcpy (vl.plugin, "mysql");
plugin_dispatch_values ("mysql_octets", &vl);
if (mysql_real_query (con, query, query_len))
{
- syslog (LOG_ERR, "mysql_real_query failed: %s\n",
+ ERROR ("mysql_real_query failed: %s\n",
mysql_error (con));
return (-1);
}
if ((res = mysql_store_result (con)) == NULL)
{
- syslog (LOG_ERR, "mysql_store_result failed: %s\n",
+ ERROR ("mysql_store_result failed: %s\n",
mysql_error (con));
return (-1);
}
void module_register (void)
{
- plugin_register_data_set (&ds_commands);
- plugin_register_data_set (&ds_handler);
- plugin_register_data_set (&ds_qcache);
- plugin_register_data_set (&ds_threads);
- plugin_register_data_set (&ds_octets);
-
#if MYSQL_HAVE_READ
plugin_register_config ("mysql", config, config_keys, config_keys_num);
plugin_register_read ("mysql", mysql_read);