Server IP : 127.0.0.2 / Your IP : 18.191.178.45 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 server status * * @usedby server_status.php * * @package PhpMyAdmin */ if (! defined('PHPMYADMIN')) { exit; } /** * Prints server status information: processes, connections and traffic * * @param PMA_ServerStatusData $ServerStatusData Server status data * * @return string */ function PMA_getHtmlForServerStatus($ServerStatusData) { //display the server state General Information $retval = PMA_getHtmlForServerStateGeneralInfo($ServerStatusData); //display the server state traffic information $retval .= PMA_getHtmlForServerStateTraffic($ServerStatusData); //display the server state connection information $retval .= PMA_getHtmlForServerStateConnections($ServerStatusData); // display replication information if ($GLOBALS['replication_info']['master']['status'] || $GLOBALS['replication_info']['slave']['status'] ) { $retval .= PMA_getHtmlForReplicationInfo(); } return $retval; } /** * Prints server state General information * * @param PMA_ServerStatusData $ServerStatusData Server status data * * @return string */ function PMA_getHtmlForServerStateGeneralInfo($ServerStatusData) { $start_time = $GLOBALS['dbi']->fetchValue( 'SELECT UNIX_TIMESTAMP() - ' . $ServerStatusData->status['Uptime'] ); $retval = '<h3>'; $bytes_received = $ServerStatusData->status['Bytes_received']; $bytes_sent = $ServerStatusData->status['Bytes_sent']; $retval .= sprintf( __('Network traffic since startup: %s'), implode( ' ', PMA_Util::formatByteDown( $bytes_received + $bytes_sent, 3, 1 ) ) ); $retval .= '</h3>'; $retval .= '<p>'; $retval .= sprintf( __('This MySQL server has been running for %1$s. It started up on %2$s.'), PMA_Util::timespanFormat($ServerStatusData->status['Uptime']), PMA_Util::localisedDate($start_time) ) . "\n"; $retval .= '</p>'; return $retval; } /** * Returns HTML to display replication information * * @return string HTML on replication */ function PMA_getHtmlForReplicationInfo() { $retval = '<p class="notice clearfloat">'; if ($GLOBALS['replication_info']['master']['status'] && $GLOBALS['replication_info']['slave']['status'] ) { $retval .= __( 'This MySQL server works as <b>master</b> and ' . '<b>slave</b> in <b>replication</b> process.' ); } elseif ($GLOBALS['replication_info']['master']['status']) { $retval .= __( 'This MySQL server works as <b>master</b> ' . 'in <b>replication</b> process.' ); } elseif ($GLOBALS['replication_info']['slave']['status']) { $retval .= __( 'This MySQL server works as <b>slave</b> ' . 'in <b>replication</b> process.' ); } $retval .= '</p>'; /* * if the server works as master or slave in replication process, * display useful information */ $retval .= '<hr class="clearfloat" />'; $retval .= '<h3><a name="replication">'; $retval .= __('Replication status'); $retval .= '</a></h3>'; foreach ($GLOBALS['replication_types'] as $type) { if (isset($GLOBALS['replication_info'][$type]['status']) && $GLOBALS['replication_info'][$type]['status'] ) { $retval .= PMA_getHtmlForReplicationStatusTable($type); } } return $retval; } /** * Prints server state traffic information * * @param PMA_ServerStatusData $ServerStatusData Server status data * * @return string */ function PMA_getHtmlForServerStateTraffic($ServerStatusData) { $hour_factor = 3600 / $ServerStatusData->status['Uptime']; $retval = '<table id="serverstatustraffic" class="data noclick">'; $retval .= '<thead>'; $retval .= '<tr>'; $retval .= '<th>'; $retval .= __('Traffic') . ' '; $retval .= PMA_Util::showHint( __( 'On a busy server, the byte counters may overrun, so those statistics ' . 'as reported by the MySQL server may be incorrect.' ) ); $retval .= '</th>'; $retval .= '<th>#</th>'; $retval .= '<th>ø ' . __('per hour') . '</th>'; $retval .= '</tr>'; $retval .= '</thead>'; $retval .= '<tbody>'; $retval .= '<tr class="odd">'; $retval .= '<th class="name">' . __('Received') . '</th>'; $retval .= '<td class="value">'; $retval .= implode( ' ', PMA_Util::formatByteDown( $ServerStatusData->status['Bytes_received'], 3, 1 ) ); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= implode( ' ', PMA_Util::formatByteDown( $ServerStatusData->status['Bytes_received'] * $hour_factor, 3, 1 ) ); $retval .= '</td>'; $retval .= '</tr>'; $retval .= '<tr class="even">'; $retval .= '<th class="name">' . __('Sent') . '</th>'; $retval .= '<td class="value">'; $retval .= implode( ' ', PMA_Util::formatByteDown( $ServerStatusData->status['Bytes_sent'], 3, 1 ) ); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= implode( ' ', PMA_Util::formatByteDown( $ServerStatusData->status['Bytes_sent'] * $hour_factor, 3, 1 ) ); $retval .= '</td>'; $retval .= '</tr>'; $retval .= '<tr class="odd">'; $retval .= '<th class="name">' . __('Total') . '</th>'; $retval .= '<td class="value">'; $bytes_received = $ServerStatusData->status['Bytes_received']; $bytes_sent = $ServerStatusData->status['Bytes_sent']; $retval .= implode( ' ', PMA_Util::formatByteDown( $bytes_received + $bytes_sent, 3, 1 ) ); $retval .= '</td>'; $retval .= '<td class="value">'; $bytes_received = $ServerStatusData->status['Bytes_received']; $bytes_sent = $ServerStatusData->status['Bytes_sent']; $retval .= implode( ' ', PMA_Util::formatByteDown( ($bytes_received + $bytes_sent) * $hour_factor, 3, 1 ) ); $retval .= '</td>'; $retval .= '</tr>'; $retval .= '</tbody>'; $retval .= '</table>'; return $retval; } /** * Prints server state connections information * * @param PMA_ServerStatusData $ServerStatusData Server status data * * @return string */ function PMA_getHtmlForServerStateConnections($ServerStatusData) { $hour_factor = 3600 / $ServerStatusData->status['Uptime']; $retval = '<table id="serverstatusconnections" class="data noclick">'; $retval .= '<thead>'; $retval .= '<tr>'; $retval .= '<th>' . __('Connections') . '</th>'; $retval .= '<th>#</th>'; $retval .= '<th>ø ' . __('per hour') . '</th>'; $retval .= '<th>%</th>'; $retval .= '</tr>'; $retval .= '</thead>'; $retval .= '<tbody>'; $retval .= '<tr class="odd">'; $retval .= '<th class="name">' . __('Max. concurrent connections') . '</th>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber( $ServerStatusData->status['Max_used_connections'], 0 ); $retval .= '</td>'; $retval .= '<td class="value">--- </td>'; $retval .= '<td class="value">--- </td>'; $retval .= '</tr>'; $retval .= '<tr class="even">'; $retval .= '<th class="name">' . __('Failed attempts') . '</th>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber( $ServerStatusData->status['Aborted_connects'], 4, 1, true ); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber( $ServerStatusData->status['Aborted_connects'] * $hour_factor, 4, 2, true ); $retval .= '</td>'; $retval .= '<td class="value">'; if ($ServerStatusData->status['Connections'] > 0) { $abortNum = $ServerStatusData->status['Aborted_connects']; $connectNum = $ServerStatusData->status['Connections']; $retval .= PMA_Util::formatNumber( $abortNum * 100 / $connectNum, 0, 2, true ); $retval .= '%'; } else { $retval .= '--- '; } $retval .= '</td>'; $retval .= '</tr>'; $retval .= '<tr class="odd">'; $retval .= '<th class="name">' . __('Aborted') . '</th>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber( $ServerStatusData->status['Aborted_clients'], 4, 1, true ); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber( $ServerStatusData->status['Aborted_clients'] * $hour_factor, 4, 2, true ); $retval .= '</td>'; $retval .= '<td class="value">'; if ($ServerStatusData->status['Connections'] > 0) { $abortNum = $ServerStatusData->status['Aborted_clients']; $connectNum = $ServerStatusData->status['Connections']; $retval .= PMA_Util::formatNumber( $abortNum * 100 / $connectNum, 0, 2, true ); $retval .= '%'; } else { $retval .= '--- '; } $retval .= '</td>'; $retval .= '</tr>'; $retval .= '<tr class="even">'; $retval .= '<th class="name">' . __('Total') . '</th>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber( $ServerStatusData->status['Connections'], 4, 0 ); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber( $ServerStatusData->status['Connections'] * $hour_factor, 4, 2 ); $retval .= '</td>'; $retval .= '<td class="value">'; $retval .= PMA_Util::formatNumber(100, 0, 2); $retval .= '%</td>'; $retval .= '</tr>'; $retval .= '</tbody>'; $retval .= '</table>'; return $retval; }