Skip to content

Commit

Permalink
Collect MySQL InnoDB metrics only if InnoDB is enabled, fix #566
Browse files Browse the repository at this point in the history
  • Loading branch information
LotharSee committed Jul 12, 2013
1 parent e5a894c commit ddc56aa
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions checks.d/mysql.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,15 +96,17 @@ def _collect_metrics(self, host, db, tags, options):

# Compute InnoDB buffer metrics
page_size = self._collect_scalar("SHOW STATUS LIKE 'Innodb_page_size'", db)
innodb_buffer_pool_pages_total = self._collect_scalar("SHOW STATUS LIKE 'Innodb_buffer_pool_pages_total'", db)
innodb_buffer_pool_pages_free = self._collect_scalar("SHOW STATUS LIKE 'Innodb_buffer_pool_pages_free'", db)
innodb_buffer_pool_pages_total = innodb_buffer_pool_pages_total * page_size
innodb_buffer_pool_pages_free = innodb_buffer_pool_pages_free * page_size
innodb_buffer_pool_pages_used = innodb_buffer_pool_pages_total - innodb_buffer_pool_pages_free

self.gauge("mysql.innodb.buffer_pool_free", innodb_buffer_pool_pages_free, tags=tags)
self.gauge("mysql.innodb.buffer_pool_used", innodb_buffer_pool_pages_used, tags=tags)
self.gauge("mysql.innodb.buffer_pool_total", innodb_buffer_pool_pages_total, tags=tags)
# Be sure InnoDB is enabled
if page_size:
innodb_buffer_pool_pages_total = self._collect_scalar("SHOW STATUS LIKE 'Innodb_buffer_pool_pages_total'", db)
innodb_buffer_pool_pages_free = self._collect_scalar("SHOW STATUS LIKE 'Innodb_buffer_pool_pages_free'", db)
innodb_buffer_pool_pages_total = innodb_buffer_pool_pages_total * page_size
innodb_buffer_pool_pages_free = innodb_buffer_pool_pages_free * page_size
innodb_buffer_pool_pages_used = innodb_buffer_pool_pages_total - innodb_buffer_pool_pages_free

self.gauge("mysql.innodb.buffer_pool_free", innodb_buffer_pool_pages_free, tags=tags)
self.gauge("mysql.innodb.buffer_pool_used", innodb_buffer_pool_pages_used, tags=tags)
self.gauge("mysql.innodb.buffer_pool_total", innodb_buffer_pool_pages_total, tags=tags)

# Compute CPU metrics
self._collect_procfs(tags, db)
Expand Down

0 comments on commit ddc56aa

Please sign in to comment.