Server IP : 85.214.239.14 / Your IP : 18.189.180.236 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/phpMyAdmin/libraries/classes/Controllers/Server/Status/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Displays query statistics for the server * * @package PhpMyAdmin\Controllers */ declare(strict_types=1); namespace PhpMyAdmin\Controllers\Server\Status; /** * Class QueriesController * @package PhpMyAdmin\Controllers\Server\Status */ class QueriesController extends AbstractController { /** * @return string HTML */ public function index(): string { if ($this->data->dataLoaded) { $hourFactor = 3600 / $this->data->status['Uptime']; $usedQueries = $this->data->used_queries; $totalQueries = array_sum($usedQueries); $stats = [ 'total' => $totalQueries, 'per_hour' => $totalQueries * $hourFactor, 'per_minute' => $totalQueries * 60 / $this->data->status['Uptime'], 'per_second' => $totalQueries / $this->data->status['Uptime'], ]; // reverse sort by value to show most used statements first arsort($usedQueries); $chart = []; $querySum = array_sum($usedQueries); $otherSum = 0; $queries = []; foreach ($usedQueries as $key => $value) { // For the percentage column, use Questions - Connections, because // the number of connections is not an item of the Query types // but is included in Questions. Then the total of the percentages is 100. $name = str_replace(['Com_', '_'], ['', ' '], $key); // Group together values that make out less than 2% into "Other", but only // if we have more than 6 fractions already if ($value < $querySum * 0.02 && count($chart) > 6) { $otherSum += $value; } else { $chart[$name] = $value; } $queries[$key] = [ 'name' => $name, 'value' => $value, 'per_hour' => $value * $hourFactor, 'percentage' => $value * 100 / $totalQueries, ]; } if ($otherSum > 0) { $chart[__('Other')] = $otherSum; } } return $this->template->render('server/status/queries/index', [ 'is_data_loaded' => $this->data->dataLoaded, 'stats' => $stats ?? null, 'queries' => $queries ?? [], 'chart' => $chart ?? [], ]); } }