示例#1
0
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;
}