Exemplo n.º 1
0
 /**
  * Collects and aggregates data recorded by Profiler_Console.
  */
 protected function _gather_console_data()
 {
     $logs = $this->_console->get_logs();
     $result = $logs;
     foreach ($logs as $type => $item) {
         // Console data will already be properly formatted.
         if ($type == 'console') {
             continue;
         }
         // Ignore empty message lists
         if (!$item['count']) {
             continue;
         }
         foreach ($item['messages'] as $message) {
             $data = $message;
             switch ($type) {
                 case 'memory':
                     $data['type'] = 'memory';
                     $data['data'] = $this->_get_readable_file_size($data['data']);
                     break;
                 case 'speed':
                     $data['type'] = 'speed';
                     $data['data'] = $this->_get_readable_time($message['data'] - $this->_startTime);
                     break;
                 case 'benchmarks':
                     $data['type'] = 'benchmark';
                     $data['data'] = $this->_get_readable_time($message['end_time'] - $message['start_time']);
                     break;
             }
             if (isset($data['type'])) {
                 $result['console']['messages'][] = $data;
             }
         }
     }
     $this->_output['logs'] = $result;
 }