fetchValue( 'SELECT UNIX_TIMESTAMP() - ' . $serverStatusData->status['Uptime'] ); $retval = '

'; $bytes_received = $serverStatusData->status['Bytes_received']; $bytes_sent = $serverStatusData->status['Bytes_sent']; $retval .= sprintf( __('Network traffic since startup: %s'), implode( ' ', Util::formatByteDown( $bytes_received + $bytes_sent, 3, 1 ) ) ); $retval .= '

'; $retval .= '

'; $retval .= sprintf( __('This MySQL server has been running for %1$s. It started up on %2$s.'), Util::timespanFormat($serverStatusData->status['Uptime']), Util::localisedDate($start_time) ) . "\n"; $retval .= '

'; return $retval; } /** * Returns HTML to display replication information * * @return string HTML on replication */ public static function getHtmlForReplicationInfo() { $retval = '

'; if ($GLOBALS['replication_info']['master']['status'] && $GLOBALS['replication_info']['slave']['status'] ) { $retval .= __( 'This MySQL server works as master and ' . 'slave in replication process.' ); } elseif ($GLOBALS['replication_info']['master']['status']) { $retval .= __( 'This MySQL server works as master ' . 'in replication process.' ); } elseif ($GLOBALS['replication_info']['slave']['status']) { $retval .= __( 'This MySQL server works as slave ' . 'in replication process.' ); } $retval .= '

'; /* * if the server works as master or slave in replication process, * display useful information */ $retval .= '
'; $retval .= '

'; $retval .= __('Replication status'); $retval .= '

'; foreach ($GLOBALS['replication_types'] as $type) { if (isset($GLOBALS['replication_info'][$type]['status']) && $GLOBALS['replication_info'][$type]['status'] ) { $retval .= ReplicationGui::getHtmlForReplicationStatusTable($type); } } return $retval; } /** * Prints server state traffic information * * @param Data $serverStatusData Server status data * * @return string */ public static function getHtmlForServerStateTraffic(Data $serverStatusData) { $hour_factor = 3600 / $serverStatusData->status['Uptime']; $retval = ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= '
'; $retval .= __('Traffic') . ' '; $retval .= Util::showHint( __( 'On a busy server, the byte counters may overrun, so those statistics ' . 'as reported by the MySQL server may be incorrect.' ) ); $retval .= '#ø ' . __('per hour') . '
' . __('Received') . ''; $retval .= implode( ' ', Util::formatByteDown( $serverStatusData->status['Bytes_received'], 3, 1 ) ); $retval .= ''; $retval .= implode( ' ', Util::formatByteDown( $serverStatusData->status['Bytes_received'] * $hour_factor, 3, 1 ) ); $retval .= '
' . __('Sent') . ''; $retval .= implode( ' ', Util::formatByteDown( $serverStatusData->status['Bytes_sent'], 3, 1 ) ); $retval .= ''; $retval .= implode( ' ', Util::formatByteDown( $serverStatusData->status['Bytes_sent'] * $hour_factor, 3, 1 ) ); $retval .= '
' . __('Total') . ''; $bytes_received = $serverStatusData->status['Bytes_received']; $bytes_sent = $serverStatusData->status['Bytes_sent']; $retval .= implode( ' ', Util::formatByteDown( $bytes_received + $bytes_sent, 3, 1 ) ); $retval .= ''; $bytes_received = $serverStatusData->status['Bytes_received']; $bytes_sent = $serverStatusData->status['Bytes_sent']; $retval .= implode( ' ', Util::formatByteDown( ($bytes_received + $bytes_sent) * $hour_factor, 3, 1 ) ); $retval .= '
'; return $retval; } /** * Prints server state connections information * * @param Data $serverStatusData Server status data * * @return string */ public static function getHtmlForServerStateConnections(Data $serverStatusData) { $hour_factor = 3600 / $serverStatusData->status['Uptime']; $retval = ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= ''; $retval .= '
' . __('Connections') . '#ø ' . __('per hour') . '%
' . __('Max. concurrent connections') . ''; $retval .= Util::formatNumber( $serverStatusData->status['Max_used_connections'], 0 ); $retval .= '--- ---
' . __('Failed attempts') . ''; $retval .= Util::formatNumber( $serverStatusData->status['Aborted_connects'], 4, 1, true ); $retval .= ''; $retval .= Util::formatNumber( $serverStatusData->status['Aborted_connects'] * $hour_factor, 4, 2, true ); $retval .= ''; if ($serverStatusData->status['Connections'] > 0) { $abortNum = $serverStatusData->status['Aborted_connects']; $connectNum = $serverStatusData->status['Connections']; $retval .= Util::formatNumber( $abortNum * 100 / $connectNum, 0, 2, true ); $retval .= '%'; } else { $retval .= '--- '; } $retval .= '
' . __('Aborted') . ''; $retval .= Util::formatNumber( $serverStatusData->status['Aborted_clients'], 4, 1, true ); $retval .= ''; $retval .= Util::formatNumber( $serverStatusData->status['Aborted_clients'] * $hour_factor, 4, 2, true ); $retval .= ''; if ($serverStatusData->status['Connections'] > 0) { $abortNum = $serverStatusData->status['Aborted_clients']; $connectNum = $serverStatusData->status['Connections']; $retval .= Util::formatNumber( $abortNum * 100 / $connectNum, 0, 2, true ); $retval .= '%'; } else { $retval .= '--- '; } $retval .= '
' . __('Total') . ''; $retval .= Util::formatNumber( $serverStatusData->status['Connections'], 4, 0 ); $retval .= ''; $retval .= Util::formatNumber( $serverStatusData->status['Connections'] * $hour_factor, 4, 2 ); $retval .= ''; $retval .= Util::formatNumber(100, 0, 2); $retval .= '%
'; return $retval; } }