function get_instance_util_data($game) { define('TTL', 30 * 60); //cache expiry time for apc is 30min $key = "instance_util_data_{$game}"; $instances_obj = apc_fetch($key, $success); if ($success) { return $instances_obj; } else { $instance_util_obj = new InstanceUtilAdapter($game); $instances_obj = array("instances" => $instance_util_obj->get_instances_detail_data(), "total" => $instance_util_obj->get_game_summary(), "dau" => $instance_util_obj->get_dau()); apc_add($key, $instances_obj, TTL); return $instances_obj; } }
function get_games_summary_info($games, $zc = 0) { $reportDataCollector = new ReportCollector($GLOBALS['server_cfg']); $dataArr = array(); $cost_per_user_min = 1000; foreach ($games as $game) { $instance_util_obj = new InstanceUtilAdapter($game); $data = $instance_util_obj->get_game_summary(); if ($data["rps"] == 0 or $data["dau"] === NULL) { //dont show games whose data is unavailable continue; } $cost_per_user = round($data["cost"] / $data["dau"], 4); if ($cost_per_user > 0) { $cost_per_user_min = min($cost_per_user, $cost_per_user_min); } $slack = round(($data["count"] - $data["optimal_instance_count"]) * 100 / $data["count"], 2); $dataArr[$game] = array("count" => $data["count"], "rps" => round($data["rps"]), "cost" => $data["cost"], "dau" => $data["dau"], "dau_per_instance" => round($data["dau"] / $data["count"]), "cost_per_user" => $cost_per_user, "optimal_instance_count" => $data["optimal_instance_count"], "slack" => $slack); /* * Review Comment :- create a function for this * not creating a function as the no of parameters are too many * and creating a fn would not be helpful */ if ($_GET['store_report'] == 'true') { // inserting data in the report instance_utilization table $data_utilization['game'] = $game; $data_utilization['total_instance'] = $data["count"]; $data_utilization['DAU'] = $data["dau"]; $data_utilization['DAU_per_instance'] = round($data["dau"] / $data["count"]); $data_utilization['optimal_instance_count'] = $data["optimal_instance_count"]; $data_utilization['slack_per'] = $slack; $data_utilization['cloud_id'] = $zc; $reportDataCollector->insertInstanceUtilization($data_utilization); } } $dataArr = sort_by_dau($dataArr); global $server_cfg; if (isset($server_cfg["hostname"])) { $hostname = $server_cfg["hostname"]; } else { $hostname = "*****@*****.**"; } return $dataArr; }