count(*) FROM ipm_status_details b WHERE a.server_name = b.server_name AND b.created_at > :created_at ) as error_count FROM ipm_report_by_hostname_and_server a WHERE a.created_at > :created_at' . $hostsWhere . ' GROUP BY a.server_name '; $stmt = $app['db']->executeCacheQuery($sql, $params, array(), new QueryCacheProfile(60 * 60)); $result['servers'] = $stmt->fetchAll(); $stmt->closeCursor(); $idn = new IDNaConvert(array('idn_version' => 2008)); $total = array('req_count' => 0, 'error_count' => 0); foreach ($result['servers'] as &$item) { if (stripos($item['server_name'], 'xn--') !== false) { $item['server_name'] = $idn->decode($item['server_name']); } $item['req_per_sec'] = number_format($item['req_per_sec'], 3, ',', ''); $total['req_count'] += $item['req_count']; $total['error_count'] += $item['error_count']; } $result['total'] = $total; return $app['twig']->render('index.html.twig', $result); })->bind('index'); return $index;
' . $hostsWhere . ' GROUP BY server_name HAVING cnt > 10 ORDER BY server_name '; $stmt = $app['db']->executeCacheQuery($sql, $params, array(), new QueryCacheProfile(60 * 60)); $list = $stmt->fetchAll(); $stmt->closeCursor(); $idn = new IDNaConvert(array('idn_version' => 2008)); $ips = array(); foreach ($list as $data) { if (stripos($data['server_name'], 'xn--') !== false) { $data['server_name'] = $idn->decode($data['server_name']); } if (preg_match('/\\d+\\.\\d+\\.\\d+\\.\\d+/', $data['server_name'])) { $ips[$data['server_name']] = $data; } else { $domainParts = explode('.', $data['server_name']); if (sizeof($domainParts) > 1) { $baseDomain = $domainParts[sizeof($domainParts) - 2] . '.' . $domainParts[sizeof($domainParts) - 1]; } else { $baseDomain = $data['server_name']; } $result['servers'][$baseDomain][$data['server_name']] = $data; } } ksort($result['servers']); if (sizeof($ips)) {