Merge branch 'collectd-4.2' into collectd-4.3
[collectd.git] / src / mysql.c
index a2604e4..d472853 100644 (file)
 #include <mysql/mysql.h>
 #endif
 
-#if COLLECT_LIBMYSQL
-# define MYSQL_HAVE_READ 1
-#else
-# define MYSQL_HAVE_READ 0
-#endif
-
 /* 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[] =
 {
        "Host",
@@ -113,14 +53,12 @@ static MYSQL *getconnection (void)
        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
@@ -130,11 +68,9 @@ static MYSQL *getconnection (void)
                }
        }
 
-       step = atoi (COLLECTD_STEP);
-
        if (wait_for > 0)
        {
-               wait_for -= step;
+               wait_for -= interval_g;
                return (NULL);
        }
 
@@ -145,14 +81,14 @@ static MYSQL *getconnection (void)
 
        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);
        }
@@ -291,14 +227,14 @@ static int mysql_read (void)
 
        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);
        }
@@ -379,18 +315,9 @@ static int mysql_read (void)
 
        return (0);
 } /* int mysql_read */
-#endif /* MYSQL_HAVE_READ */
 
 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);
-#endif /* MYSQL_HAVE_READ */
 } /* void module_register */