if ($options['alsostatic'] == null) { // remove all known static paths - list taken from .htaccess /// @todo we should try to understand if we have to anchor regexp to url root (ie if we are in vhost mode) $exclude[] = '#.*/var/([^/]+/)?storage/images(-versioned)?/.*#'; $exclude[] = '#.*/var/([^/]+/)?cache/(texttoimage|public)/.*#'; $exclude[] = '#.*/design/[^/]+/(stylesheets|images|javascript)/.*#'; $exclude[] = '#.*/share/icons/.*#'; $exclude[] = '#.*/extension/[^/]+/design/[^/]+/(stylesheets|flash|images|lib|javascripts?)/.*#'; $exclude[] = '#.*/packages/styles/.+/thumbnail/.*#'; $exclude[] = '#.*/var/storage/packages/.*#'; } if ($options['excludefilter'] !== null) { $exclude[] = '#' . str_replace('#', '\\#', $options['excludefilter']) . '#'; } $ok = eZPerfLoggerLogManager::updateStatsFromLogFile($logFilePath, 'eZPerfLoggerApacheLogger', 'eZPerfLoggerUrlExtractorStorage', null, $exclude, true); $stats = eZPerfLoggerUrlExtractorStorage::getStats(); /// @todo sort urls based on inverse access time / name / frequency if ($options['sort'] == '' || $options['sort'] == 'count') { foreach ($stats as $key => $row) { $count[$key] = $row['count']; $url[$key] = $row['url']; } // Add $data as the last parameter, to sort by the common key array_multisort($count, SORT_DESC, $url, SORT_ASC, $stats); } $i = 0; foreach ($stats as $idx => $data) { /// @todo shall we avoid printing empty lines? if ($options['data'] == '' || $options['data'] == 'count') { echo "[{$data['count']}] "; }
public static function setOptions($opts) { self::$options = array_merge(self::$options, $opts); }