summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 600b824)
raw | patch | inline | side by side (parent: 600b824)
author | Wilson Felipe <wfelipe@gmail.com> | |
Mon, 4 Feb 2013 19:27:49 +0000 (11:27 -0800) | ||
committer | Florian Forster <octo@collectd.org> | |
Wed, 6 Aug 2014 13:34:33 +0000 (15:34 +0200) |
src/mysql.c | patch | blob | history | |
src/types.db | patch | blob | history |
diff --git a/src/mysql.c b/src/mysql.c
index a6b1e5e6ae8a36f1af9e2644705230f672f1a204..df1e7b67c66c12a6535fde52db15e4f1a5a9f237 100644 (file)
--- a/src/mysql.c
+++ b/src/mysql.c
_Bool master_stats;
_Bool slave_stats;
+ _Bool innodb_stats;
_Bool slave_notif;
_Bool slave_io_running;
status = cf_util_get_boolean (child, &db->slave_stats);
else if (strcasecmp ("SlaveNotifications", child->key) == 0)
status = cf_util_get_boolean (child, &db->slave_notif);
+ else if (strcasecmp ("InnodbStats", child->key) == 0)
+ status = cf_util_get_boolean (child, &db->innodb_stats);
else
{
WARNING ("mysql plugin: Option `%s' not allowed here.", child->key);
key + strlen ("Table_locks_"),
val, db);
}
+ else if (db->innodb_stats && strncmp (key, "Innodb_", strlen ("Innodb_")) == 0)
+ {
+ /* buffer pool */
+ if (strcmp (key, "Innodb_buffer_pool_pages_data") == 0)
+ gauge_submit ("mysql_bpool_pages", "data", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_pages_dirty") == 0)
+ gauge_submit ("mysql_bpool_pages", "dirty", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_pages_flushed") == 0)
+ counter_submit ("mysql_bpool_counters", "flushed", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_pages_free") == 0)
+ gauge_submit ("mysql_bpool_pages", "free", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_pages_misc") == 0)
+ gauge_submit ("mysql_bpool_pages", "misc", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_pages_total") == 0)
+ gauge_submit ("mysql_bpool_pages", "total", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_read_ahead_rnd") == 0)
+ counter_submit ("mysql_bpool_counters", "read_ahead_rnd", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_read_ahead") == 0)
+ counter_submit ("mysql_bpool_counters", "read_ahead", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_read_ahead_evicted") == 0)
+ counter_submit ("mysql_bpool_counters", "read_ahead_evicted", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_read_requests") == 0)
+ counter_submit ("mysql_bpool_counters", "read_requests", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_reads") == 0)
+ counter_submit ("mysql_bpool_counters", "reads", val, db);
+ else if (strcmp (key, "Innodb_buffer_pool_write_requests") == 0)
+ counter_submit ("mysql_bpool_counters", "write_requests", val, db);
+
+ /* data */
+ if (strcmp (key, "Innodb_data_fsyncs") == 0)
+ counter_submit ("mysql_innodb_data", "fsyncs", val, db);
+ else if (strcmp (key, "Innodb_data_read") == 0)
+ counter_submit ("mysql_innodb_data", "read", val, db);
+ else if (strcmp (key, "Innodb_data_reads") == 0)
+ counter_submit ("mysql_innodb_data", "reads", val, db);
+ else if (strcmp (key, "Innodb_data_writes") == 0)
+ counter_submit ("mysql_bpool_counters", "writes", val, db);
+ else if (strcmp (key, "Innodb_data_written") == 0)
+ counter_submit ("mysql_innodb_data", "written", val, db);
+
+ /* double write */
+ else if (strcmp (key, "Innodb_dblwr_writes") == 0)
+ counter_submit ("mysql_innodb_dblwr", "writes", val, db);
+ else if (strcmp (key, "Innodb_dblwr_pages_written") == 0)
+ counter_submit ("mysql_innodb_dblwr", "written", val, db);
+
+ /* rows */
+ else if (strcmp (key, "Innodb_rows_deleted") == 0)
+ counter_submit ("mysql_innodb_rows", "deleted", val, db);
+ else if (strcmp (key, "Innodb_rows_inserted") == 0)
+ counter_submit ("mysql_innodb_rows", "inserted", val, db);
+ else if (strcmp (key, "Innodb_rows_read") == 0)
+ counter_submit ("mysql_innodb_rows", "read", val, db);
+ else if (strcmp (key, "Innodb_rows_updated") == 0)
+ counter_submit ("mysql_innodb_rows", "updated", val, db);
+ }
}
mysql_free_result (res); res = NULL;
diff --git a/src/types.db b/src/types.db
index 06f6fd2eb82e699b0cb535d55091867c79af5913..e24a78c01b5d9faa15d7474800dd63c84b7c4751 100644 (file)
--- a/src/types.db
+++ b/src/types.db
mysql_locks value:DERIVE:0:U
mysql_log_position value:DERIVE:0:U
mysql_octets rx:DERIVE:0:U, tx:DERIVE:0:U
+mysql_bpool_pages value:GAUGE:0:U
+mysql_bpool_counters value:DERIVE:0:U
+mysql_innodb_data value:DERIVE:0:U
+mysql_innodb_dblwr value:DERIVE:0:U
+mysql_innodb_rows value:DERIVE:0:U
nfs_procedure value:DERIVE:0:U
nginx_connections value:GAUGE:0:U
nginx_requests value:DERIVE:0:U