netapp plugin: cna_init: Add some comments.
[collectd.git] / src / mysql.c
index a129f40..1048511 100644 (file)
@@ -1,8 +1,10 @@
 /**
  * collectd - src/mysql.c
  * Copyright (C) 2006-2009  Florian octo Forster
- * Copyright (C) 2009  Doug MacEachern
- * Copyright (C) 2009  Sebastian tokkee Harl
+ * Copyright (C) 2008       Mirko Buffoni
+ * Copyright (C) 2009       Doug MacEachern
+ * Copyright (C) 2009       Sebastian tokkee Harl
+ * Copyright (C) 2009       Rodolphe QuiĆ©deville
  *
  * 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
@@ -22,6 +24,7 @@
  *   Mirko Buffoni <briareos at eswat.org>
  *   Doug MacEachern <dougm at hyperic.com>
  *   Sebastian tokkee Harl <sh at tokkee.org>
+ *   Rodolphe QuiĆ©deville <rquiedeville at bearstech.com>
  **/
 
 #include "collectd.h"
@@ -360,7 +363,11 @@ static MYSQL *getconnection (mysql_database_t *db)
                int err;
                if ((err = mysql_ping (db->con)) != 0)
                {
-                       WARNING ("mysql_ping failed: %s", mysql_error (db->con));
+                       WARNING ("mysql_ping failed for %s: %s",
+                                       (db->instance != NULL)
+                                       ? db->instance
+                                       : "<legacy>",
+                                       mysql_error (db->con));
                        db->state = 0;
                }
                else
@@ -744,23 +751,30 @@ static int mysql_read (user_data_t *ud)
                key = row[0];
                val = atoll (row[1]);
 
-               if (strncmp (key, "Com_", 4) == 0)
+               if (strncmp (key, "Com_", 
+                                 strlen ("Com_")) == 0)
                {
                        if (val == 0ULL)
                                continue;
 
                        /* Ignore `prepared statements' */
-                       if (strncmp (key, "Com_stmt_", 9) != 0)
-                               counter_submit ("mysql_commands", key + 4, val, db);
+                       if (strncmp (key, "Com_stmt_", strlen ("Com_stmt_")) != 0)
+                               counter_submit ("mysql_commands", 
+                                               key + strlen ("Com_"), 
+                                               val, db);
                }
-               else if (strncmp (key, "Handler_", 8) == 0)
+               else if (strncmp (key, "Handler_", 
+                                       strlen ("Handler_")) == 0)
                {
                        if (val == 0ULL)
                                continue;
 
-                       counter_submit ("mysql_handler", key + 8, val, db);
+                       counter_submit ("mysql_handler", 
+                                       key + strlen ("Handler_"), 
+                                       val, db);
                }
-               else if (strncmp (key, "Qcache_", 7) == 0)
+               else if (strncmp (key, "Qcache_",
+                                               strlen ("Qcache_")) == 0)
                {
                        if (strcmp (key, "Qcache_hits") == 0)
                                qcache_hits = val;
@@ -773,14 +787,16 @@ static int mysql_read (user_data_t *ud)
                        else if (strcmp (key, "Qcache_queries_in_cache") == 0)
                                qcache_queries_in_cache = (int) val;
                }
-               else if (strncmp (key, "Bytes_", 6) == 0)
+               else if (strncmp (key, "Bytes_", 
+                                       strlen ("Bytes_")) == 0)
                {
                        if (strcmp (key, "Bytes_received") == 0)
                                traffic_incoming += val;
                        else if (strcmp (key, "Bytes_sent") == 0)
                                traffic_outgoing += val;
                }
-               else if (strncmp (key, "Threads_", 8) == 0)
+               else if (strncmp (key, "Threads_", 
+                                               strlen ("Threads_")) == 0)
                {
                        if (strcmp (key, "Threads_running") == 0)
                                threads_running = (int) val;
@@ -791,6 +807,13 @@ static int mysql_read (user_data_t *ud)
                        else if (strcmp (key, "Threads_created") == 0)
                                threads_created = val;
                }
+               else if (strncmp (key, "Table_locks_",
+                                       strlen ("Table_locks_")) == 0)
+               {
+                       counter_submit ("mysql_locks",
+                                       key + strlen ("Table_locks_"),
+                                       val, db);
+               }
        }
        mysql_free_result (res); res = NULL;