$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();
{ 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());