* 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
* 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"
else
sstrncpy (cb_name, "mysql", sizeof (cb_name));
- plugin_register_complex_read (cb_name, mysql_read,
+ plugin_register_complex_read (/* group = */ NULL, cb_name,
+ mysql_read,
/* interval = */ NULL, &ud);
}
else
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
}
else
{
- INFO ("mysql plugin: Sucessfully connected to database %s "
+ INFO ("mysql plugin: Successfully connected to database %s "
"at server %s (server version: %s, protocol version: %d)",
(db->database != NULL) ? db->database : "<none>",
mysql_get_host_info (db->con),
MYSQL_RES *res;
MYSQL_ROW row;
char *query;
- int field_num;
unsigned long long qcache_hits = 0ULL;
unsigned long long qcache_inserts = 0ULL;
if (res == NULL)
return (-1);
- field_num = mysql_num_fields (res);
while ((row = mysql_fetch_row (res)))
{
char *key;
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;
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;
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;