public static function doCacheTable($c, $user = false) { global $wgLang; // Calculate rates $numHits = $wgLang->formatNum($c['num_hits']); $numMiss = $wgLang->formatNum($c['num_misses']); $numReqs = $c['num_hits'] + $c['num_misses']; $cPeriod = time() - $c['start_time']; if (!$cPeriod) { $cPeriod = 1; } $rateReqs = APCUtils::formatReqPerS($numReqs / $cPeriod); $rateHits = APCUtils::formatReqPerS($c['num_hits'] / $cPeriod); $rateMiss = APCUtils::formatReqPerS($c['num_misses'] / $cPeriod); $rateInsert = APCUtils::formatReqPerS($c['num_inserts'] / $cPeriod); $cachedFiles = wfMsgExt('viewapc-cached-files-d', 'parsemag', $wgLang->formatNum($c['num_entries']), $wgLang->formatSize($c['mem_size'])); $cacheFullCount = $wgLang->formatNum($c['expunges']); $contentType = !$user ? wfMsg('viewapc-filecache-info') : wfMsg('viewapc-usercache-info'); return APCUtils::tableHeader($contentType) . APCUtils::tableRow($r = 0, wfMsgHtml('viewapc-cached-files'), $cachedFiles) . APCUtils::tableRow($r = 1 - $r, wfMsgHtml('viewapc-hits'), $numHits) . APCUtils::tableRow($r = 1 - $r, wfMsgHtml('viewapc-misses'), $numMiss) . APCUtils::tableRow($r = 1 - $r, wfMsgHtml('viewapc-requests'), $rateReqs) . APCUtils::tableRow($r = 1 - $r, wfMsgHtml('viewapc-hitrate'), $rateHits) . APCUtils::tableRow($r = 1 - $r, wfMsgHtml('viewapc-missrate'), $rateMiss) . APCUtils::tableRow($r = 1 - $r, wfMsgHtml('viewapc-insertrate'), $rateInsert) . APCUtils::tableRow($r = 1 - $r, wfMsgHtml('viewapc-cachefull'), $cacheFullCount) . APCUtils::tableFooter(); }