You are here

function dba_mysql_statpack_output in Database Administration 7

File

database/mysql.statpack.inc, line 31

Code

function dba_mysql_statpack_output($reports) {
  $output = array();
  $output[] = dba_statpack_center(t('Database Activity'));
  $output[] = dba_statpack_line();
  $output[] = dba_mysql_statpack_activity(t('Threads Connected'), $reports[0]->threads_connected, $reports[1]->threads_connected);
  $output[] = dba_mysql_statpack_activity(t('Threads Running'), $reports[0]->threads_running, $reports[1]->threads_running);
  $output[] = dba_mysql_statpack_activity(t('questions'), $reports[0]->questions, $reports[1]->questions);
  $output[] = dba_mysql_statpack_activity(t('Bytes Received'), $reports[0]->bytes_received, $reports[1]->bytes_received, TRUE);
  $output[] = dba_mysql_statpack_activity(t('Bytes Sent'), $reports[0]->bytes_sent, $reports[1]->bytes_sent, TRUE);
  $output[] = dba_mysql_statpack_activity(t('Aborted Clients'), $reports[0]->aborted_clients, $reports[1]->aborted_clients);
  $output[] = dba_mysql_statpack_activity(t('Aborted Connects'), $reports[0]->aborted_connects, $reports[1]->aborted_connects);
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('Statement Activity'));
  $output[] = dba_statpack_line();

  // Statement totals
  $statements = array();
  $statements[0] = $reports[0]->com_select + $reports[0]->com_insert + $reports[0]->com_update + $reports[0]->com_delete + $reports[0]->com_replace + $reports[0]->com_insert_select + $reports[0]->com_replace_select + $reports[0]->com_update_multi + $reports[0]->com_delete_multi + $reports[0]->com_commit + $reports[0]->com_rollback;
  $statements[1] = $reports[1]->com_select + $reports[1]->com_insert + $reports[1]->com_update + $reports[1]->com_delete + $reports[1]->com_replace + $reports[1]->com_insert_select + $reports[1]->com_replace_select + $reports[1]->com_update_multi + $reports[1]->com_delete_multi + $reports[1]->com_commit + $reports[1]->com_rollback;
  $statements[2] = $statements[1] - $statements[0];
  if ($return = dba_mysql_statpack_statement(t('SELECT'), $reports[0]->com_select, $reports[1]->com_select, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('INSERT'), $reports[0]->com_insert, $reports[1]->com_insert, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('UPDATE'), $reports[0]->com_update, $reports[1]->com_update, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('DELETE'), $reports[0]->com_delete, $reports[1]->com_delete, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('REPLACE'), $reports[0]->com_replace, $reports[1]->com_replace, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('INSERT ... SELECT'), $reports[0]->com_insert_select, $reports[1]->com_insert_select, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('REPLACE ... SELECT'), $reports[0]->com_replace_select, $reports[1]->com_replace_select, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('Multi UPDATE'), $reports[0]->com_update_multi, $reports[1]->com_update_multi, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('Multi DELETE'), $reports[0]->com_delete_multi, $reports[1]->com_delete_multi, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('COMMIT'), $reports[0]->com_commit, $reports[1]->com_commit, $statements)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_statement(t('ROLLBACK'), $reports[0]->com_rollback, $reports[1]->com_rollback, $statements)) {
    $output[] = $return;
  }
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('Admin Commands'));
  $output[] = dba_statpack_line();
  if ($return = dba_mysql_statpack_activity(t('KILL'), $reports[0]->com_kill, $reports[1]->com_kill, 0)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('FLUSH'), $reports[0]->com_flush, $reports[1]->com_flush, 0)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('ANALYZE TABLE'), $reports[0]->com_analyze, $reports[1]->com_analyze, 0)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('OPTIMIZE TABLE'), $reports[0]->com_optimize, $reports[1]->com_optimize, 0)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('CHECK TABLE'), $reports[0]->com_check, $reports[1]->com_check, 0)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('REPAIR TABLE'), $reports[0]->com_repair, $reports[1]->com_repair, 0)) {
    $output[] = $return;
  }
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('Thread Cache'));
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_columns(array(
    t('Thread Efficiency'),
    '',
    '',
    dba_statpack_short(100 - dba_statpack_to_percentage($reports[1]->threads_created / $reports[1]->connections)) . '%',
  ));
  $output[] = dba_mysql_statpack_activity(t('connections'), $reports[0]->connections, $reports[1]->connections);
  $output[] = dba_mysql_statpack_activity(t('Threads Created'), $reports[0]->threads_created, $reports[1]->threads_created);
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('Table Cache'));
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_columns(array(
    t('table_cache Efficiency'),
    '',
    '',
    dba_statpack_short(dba_statpack_to_percentage($reports[1]->open_tables / ($reports[1]->opened_tables + 1))) . '%',
  ));
  $output[] = dba_mysql_statpack_activity(t('Open Tables'), $reports[0]->open_tables, $reports[1]->open_tables);
  $output[] = dba_mysql_statpack_activity(t('Opened Tables'), $reports[0]->opened_tables, $reports[1]->opened_tables);
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('MyISAM Key Cache'));
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_columns(array(
    t('Cache Read Efficiency'),
    '',
    '',
    dba_statpack_short(dba_statpack_to_percentage($reports[1]->key_reads / ($reports[1]->key_read_requests + 1))) . '%',
  ));
  $output[] = dba_statpack_columns(array(
    t('Cache Write Efficiency'),
    '',
    '',
    dba_statpack_short(dba_statpack_to_percentage($reports[1]->key_writes / ($reports[1]->key_write_requests + 1))) . '%',
  ));
  if ($return = dba_mysql_statpack_format(t('Memory Used'), $reports[1]->key_blocks_used - $reports[0]->key_blocks_used, '', $reports[1]->key_blocks_used, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_format(t('Memory Free'), $reports[1]->key_blocks_unused - $reports[0]->key_blocks_unused, '', $reports[1]->key_blocks_unused, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Key Reads'), $reports[1]->key_reads, $reports[1]->key_reads)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Key Read Requests'), $reports[1]->key_read_requests, $reports[1]->key_read_requests)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Key Writes'), $reports[1]->key_writes, $reports[1]->key_writes)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Key Write Requests'), $reports[1]->key_write_requests, $reports[1]->key_write_requests)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Blocks Not Flushed'), $reports[1]->key_blocks_not_flushed, $reports[0]->key_blocks_not_flushed)) {
    $output[] = $return;
  }
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('InnoDB Buffer Pool'));
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_columns(array(
    t('Buffer Pool Read Efficiency'),
    '',
    '',
    dba_statpack_short(100 - dba_statpack_to_percentage($reports[1]->innodb_buffer_pool_reads / ($reports[1]->innodb_buffer_pool_read_requests + 1))) . '%',
  ));
  if ($return = dba_mysql_statpack_format(t('Memory Total'), ($reports[1]->innodb_buffer_pool_pages_total - $reports[0]->innodb_buffer_pool_pages_total) * 16384, '', $reports[1]->innodb_buffer_pool_pages_total * 16384, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_format(t('Memory Free'), ($reports[1]->innodb_buffer_pool_pages_free - $reports[0]->innodb_buffer_pool_pages_free) * 16384, '', $reports[1]->innodb_buffer_pool_pages_free * 16384, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_format(t('Memory Data'), ($reports[1]->innodb_buffer_pool_pages_data - $reports[0]->innodb_buffer_pool_pages_data) * 16384, '', $reports[1]->innodb_buffer_pool_pages_data * 16384, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_format(t('Memory Dirty'), ($reports[1]->innodb_buffer_pool_pages_dirty - $reports[0]->innodb_buffer_pool_pages_dirty) * 16384, '', $reports[1]->innodb_buffer_pool_pages_dirty * 16384, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_format(t('Data Read'), ($reports[1]->innodb_data_read - $reports[0]->innodb_data_read) * 16384, '', $reports[1]->innodb_data_read, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_format(t('Data Written'), $reports[1]->innodb_data_written - $reports[0]->innodb_data_written, '', $reports[1]->innodb_data_written, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Buffer Pool Reads'), $reports[1]->innodb_buffer_pool_reads, $reports[0]->innodb_buffer_pool_reads)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Buffer Pool Read Requests'), $reports[0]->innodb_buffer_pool_read_requests, $reports[1]->innodb_buffer_pool_read_requests)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Buffer Pool Write Requests'), $reports[0]->innodb_buffer_pool_write_requests, $reports[1]->innodb_buffer_pool_write_requests)) {
    $output[] = $return;
  }
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('InnoDB Log Files'));
  $output[] = dba_statpack_line();
  if ($return = dba_mysql_statpack_format(t('Log Data Written'), $reports[1]->innodb_os_log_written - $reports[0]->innodb_os_log_written, '', $reports[1]->innodb_os_log_written, TRUE)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Log Writes'), $reports[0]->innodb_log_writes, $reports[1]->innodb_log_writes)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Log Write Requests'), $reports[0]->innodb_log_write_requests, $reports[1]->innodb_log_write_requests)) {
    $output[] = $return;
  }
  if ($return = dba_mysql_statpack_activity(t('Log Waits'), $reports[0]->innodb_log_waits, $reports[1]->innodb_log_waits)) {
    $output[] = $return;
  }
  $output[] = dba_statpack_line();
  $output[] = dba_statpack_center(t('Query Cache'));
  $output[] = dba_statpack_line();
  return $output;
}