/** * 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; }