$requestTypes = array('live', 'req_time'); $server->get('/{type}/{requestId}/{grouping}', function ($type, $requestId, $grouping) use($app, $requestTypes) { if (!in_array($type, $requestTypes)) { $app->abort(404, "Type {$type} not allowed. Allowed types: " . implode(', ', $requestTypes)); } $date = null; if (stripos($requestId, '::') !== false) { list($requestId, $date) = explode('::', $requestId); } $request = getRequestById($app['db'], $type, $requestId, $date); if (!$request) { $app->abort(404, "Request #{$requestId} not found."); } Utils::checkUserAccess($app, $request['server_name']); $request['script_name'] = Utils::urlDecode($request['script_name']); $request = Utils::parseRequestTags($request); $request['timers'] = getTimers($app['db'], $type, $requestId, $date); $groupingTags = findGroupingTags($request['timers']); if (strlen($grouping)) { $grouping = preg_replace('/^grouping\\-/', '', $grouping); } if (empty($grouping)) { if (sizeof($groupingTags)) { if (in_array('group', $groupingTags)) { $grouping = 'group'; } else { $grouping = $groupingTags[0]; } } else { $grouping = null; }
function getHeavyPages($conn, $serverName, $hostName, $startPos, $rowCount, $colOrder, $colDir) { $params = array('server_name' => $serverName, 'created_at' => date('Y-m-d H:i:s', strtotime('-1 day'))); $hostCondition = ''; if ($hostName != 'all') { $params['hostname'] = $hostName; $hostCondition = 'AND hostname = :hostname'; } $orderBy = 'created_at DESC, mem_peak_usage DESC'; if (null !== $colOrder) { $orderBy = generateOrderBy($colOrder, $colDir, 'ipm_mem_peak_usage_details'); } $sql = ' SELECT DISTINCT server_name, hostname, script_name, mem_peak_usage, tags, tags_cnt, created_at FROM ipm_mem_peak_usage_details WHERE server_name = :server_name ' . $hostCondition . ' AND created_at > :created_at ORDER BY ' . $orderBy . ' LIMIT ' . $startPos . ', ' . $rowCount . ' '; $data = $conn->fetchAll($sql, $params); foreach ($data as &$item) { $item['script_name'] = Utils::urlDecode($item['script_name']); $item['mem_peak_usage'] = number_format($item['mem_peak_usage'], 0, '.', ','); $item = Utils::parseRequestTags($item); } return $data; }