Current Path : /storage/v11800/testtest/public_html/wp-content/plugins/pagespeed/index-wp-mysql-for-speed/code/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/testtest/public_html/wp-content/plugins/pagespeed/index-wp-mysql-for-speed/code/getstatus.php |
<?php
/**
* @param bool|array $prior if given, this returns the difference between the current and prior results.
*
* @return array MySQL's global status with zero values removed.
*/
function getGlobalStatus( $prior = false ) {
global $wpdb;
$q = "SHOW GLOBAL STATUS" . '/*' . index_wp_mysql_for_speed_querytag . rand( 0, 999999999 ) . '*/';
$resultSet = $wpdb->get_results( $q, ARRAY_N );
$result = [];
/* add in a copy of some items that's not a difference */
$stateVars = 'Uptime|Memory_used|Threads_running|Innodb_buffer_pool_bytes_data|Innodb_buffer_pool_bytes_dirty';
$stateVars = explode( '|', $stateVars );
foreach ( $resultSet as $row ) {
$key = $row[0];
$val = $row[1];
if ( array_search( $key, $stateVars ) ) {
$result[ $key . '_state' ] = $val;
}
}
foreach ( $resultSet as $row ) {
$key = $row[0];
$val = $row[1];
if ( is_numeric( $val ) ) {
$val = $val + 0;
$priorVal = is_array( $prior ) && isset( $prior[ $key ] ) ? $prior[ $key ] : 0;
if ( is_array( $prior ) && is_numeric( $priorVal ) ) {
$val = $val - $priorVal + 0;
}
}
if ( $val !== 0 ) {
$result[ $key ] = $val;
}
}
return $result;
}