Пример #1
0
$tmps = 0;
#$res = $DBc->sendSQL("SELECT at_id FROM ach_task WHERE NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_player='".$cdata['cid']."' AND apt_task=at_id) AND at_dev='0' AND (NOT EXISTS (SELECT * FROM ach_task_tie_align WHERE atta_task=at_id) OR EXISTS (SELECT * FROM ach_task_tie_align WHERE atta_task=at_id AND atta_alignment LIKE '".$cdata['cult'].'|'.$cdata['civ']."'))","ARRAY");
#foreach($res as $task) {
//get unfinished atoms belonging to unfinished objectives
$res2 = $DBc->sendSQL("SELECT ach_atom.* FROM ach_atom,ach_objective,ach_task WHERE ao_task=at_id AND ao_id=atom_objective AND NOT EXISTS (SELECT * FROM ach_player_objective WHERE apo_player='" . $cdata['cid'] . "' AND apo_objective=ao_id) AND NOT EXISTS (SELECT * FROM ach_player_task WHERE apt_player='" . $cdata['cid'] . "' AND apt_task=at_id) AND at_dev='0' AND (NOT EXISTS (SELECT * FROM ach_task_tie_align WHERE atta_task=at_id) OR EXISTS (SELECT * FROM ach_task_tie_align WHERE atta_task=at_id AND atta_alignment LIKE '" . $cdata['cult'] . '|' . $cdata['civ'] . "'))", "ARRAY");
foreach ($res2 as $atom) {
    $a = new Atom($atom, $cdata);
    $atom_list[] = $a;
    $atom_list[] = $a;
    $a->register();
}
$tmps += sizeof($res2);
#}
$log->logf("loaded atoms: " . $tmps);
$statsdb = new Stats();
$statsdb->register();
#$log->logf("done!");
#$log->logf("Memory load: ".memory_get_usage()." bytes");
$microstop = explode(' ', microtime());
$stop_time = $microstop[0] + $microstop[1];
#$log->logf("Expired time: ".($stop_time - $start_time));
#$log->logi("Driving data... ",false);
#STEP 2: drive data
$_CACHE->setChar($cdata);
$res = $DBc->sendSQL("SELECT sum(at_value) as anz FROM ach_task,ach_player_task WHERE at_id=apt_task AND apt_player='" . $cdata['cid'] . "'", "ARRAY");
$_DISPATCHER->dispatchValue("yubopoints", $res[0]['anz']);
$_DISPATCHER->dispatchValue("aid", $cdata['aid']);
$_DISPATCHER->dispatchValue("cid", $cdata['cid']);
$_DISPATCHER->dispatchValue("sid", $cdata['sid']);
$_DATASOURCE->drive($cdata);
$statsdb->writeData();
Пример #2
0
    {
        Event::on('query.started', array($this, 'started'));
        Event::on('query.completed', array($this, 'completed'));
    }
    /** Called when a query has started. */
    public function started($query, $arguments)
    {
        $this->active = array('query' => $query, 'arguments' => $arguments, 'start' => microtime(true));
    }
    /** Called when a query has completed. */
    public function completed($query)
    {
        $active = $this->active;
        $active['end'] = microtime(true);
        $active['duration'] = $active['end'] - $active['start'];
        $this->stats[] = $active;
        $this->active = null;
    }
    /** Returns the collected statistics. */
    public function getStats()
    {
        return $this->stats;
    }
}
$stats = new Stats();
$stats->register();
// Execute some queries
Person::find(10);
Person::objects()->fetch();
// Print collected statistics
print_r($stats->getStats());