Server IP : 127.0.0.2 / Your IP : 13.59.234.246 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin/libraries/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * functions for displaying query statistics for the server * * @usedby server_status_queries.php * * @package PhpMyAdmin */ if (! defined('PHPMYADMIN')) { exit; } /** * Returns the html content for the query statistics * * @param PMA_ServerStatusData $ServerStatusData Server status data * * @return string */ function PMA_getHtmlForQueryStatistics($ServerStatusData) { $retval = ''; $hour_factor = 3600 / $ServerStatusData->status['Uptime']; $used_queries = $ServerStatusData->used_queries; $total_queries = array_sum($used_queries); $retval .= '<h3 id="serverstatusqueries">'; /* l10n: Questions is the name of a MySQL Status variable */ $retval .= sprintf( __('Questions since startup: %s'), PMA_Util::formatNumber($total_queries, 0) ); $retval .= ' '; $retval .= PMA_Util::showMySQLDocu( 'server-status-variables', false, 'statvar_Questions' ); $retval .= '<br />'; $retval .= '<span>'; $retval .= 'ø ' . __('per hour:') . ' '; $retval .= PMA_Util::formatNumber($total_queries * $hour_factor, 0); $retval .= '<br />'; $retval .= 'ø ' . __('per minute:') . ' '; $retval .= PMA_Util::formatNumber( $total_queries * 60 / $ServerStatusData->status['Uptime'], 0 ); $retval .= '<br />'; if ($total_queries / $ServerStatusData->status['Uptime'] >= 1) { $retval .= 'ø ' . __('per second:') . ' '; $retval .= PMA_Util::formatNumber( $total_queries / $ServerStatusData->status['Uptime'], 0 ); } $retval .= '</span>'; $retval .= '</h3>'; $retval .= PMA_getHtmlForServerStatusQueriesDetails($ServerStatusData); return $retval; } /** * Returns the html content for the query details * * @param PMA_ServerStatusData $ServerStatusData Server status data * * @return string */ function PMA_getHtmlForServerStatusQueriesDetails($ServerStatusData) { $hour_factor = 3600 / $ServerStatusData->status['Uptime']; $used_queries = $ServerStatusData->used_queries; $total_queries = array_sum($used_queries); // reverse sort by value to show most used statements first arsort($used_queries); $odd_row = true; //(- $ServerStatusData->status['Connections']); $perc_factor = 100 / $total_queries; $retval = '<table id="serverstatusqueriesdetails" ' . 'class="data sortable noclick">'; $retval .= '<col class="namecol" />'; $retval .= '<col class="valuecol" span="3" />'; $retval .= '<thead>'; $retval .= '<tr><th>' . __('Statements') . '</th>'; $retval .= '<th>'; /* l10n: # = Amount of queries */ $retval .= __('#'); $retval .= '</th>'; $retval .= '<th>ø ' . __('per hour') . '</th>'; $retval .= '<th>%</div></th>'; $retval .= '</tr>'; $retval .= '</thead>'; $retval .= '<tbody>'; $chart_json = array(); $query_sum = array_sum($used_queries); $other_sum = 0; foreach ($used_queries as $name => $value) { $odd_row = !$odd_row; // 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(array('Com_', '_'), array('', ' '), $name); // Group together values that make out less than 2% into "Other", but only // if we have more than 6 fractions already if ($value < $query_sum * 0.02 && count($chart_json)>6) { $other_sum += $value; } else { $chart_json[$name] = $value; } $retval .= '<tr class="'; $retval .= $odd_row ? 'odd' : 'even'; $retval .= '">'; $retval .= '<th class="name">' . htmlspecialchars($name) . '</th>'; $retval .= '<td class="value">'; $retval .= htmlspecialchars(PMA_Util::formatNumber($value, 5, 0, true)); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= htmlspecialchars( PMA_Util::formatNumber($value * $hour_factor, 4, 1, true) ); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= htmlspecialchars( PMA_Util::formatNumber($value * $perc_factor, 0, 2) ); $retval .= '</td>'; $retval .= '</tr>'; } $retval .= '</tbody>'; $retval .= '</table>'; $retval .= '<div id="serverstatusquerieschart"></div>'; $retval .= '<div id="serverstatusquerieschart_data" style="display:none;">'; if ($other_sum > 0) { $chart_json[__('Other')] = $other_sum; } $retval .= htmlspecialchars(json_encode($chart_json)); $retval .= '</div>'; return $retval; }