/**
  * {@inheritdoc}
  */
 public function collect(Request $request, Response $response, \Exception $exception = null)
 {
     $queryCount = 0;
     $queryTime = 0;
     $dataSources = array();
     foreach ($this->dataProfilerManager as $profiler) {
         $queryCount += $profiler->count();
         $queryTime += $profiler->getTotalElapsedSecs();
         $name = $profiler->getDataSourceName();
         $dataSources[$name] = array("queryTime" => $profiler->getTotalElapsedSecs(), "queryCount" => $profiler->count(), "profiles" => array());
         foreach ($profiler as $profile) {
             $dataSources[$name]["profiles"][] = array("queryTime" => $profile->hasEnded() ? $profile->getElapsedSecs() : false, "queryText" => $profiler->getFormatter()->formatHtml($profile->getQueryText()), "params" => $this->formatQueryParams($profile->getQueryParams()), "startTime" => $profile->getStartMicrotime() - $this->kernel->getStartTime(), "endTime" => $profile->hasEnded() ? $profile->getEndMicrotime() - $this->kernel->getStartTime() : false, "startMemoryUsage" => $profile->getStartMemoryUsage(true), "endMemoryUsage" => $profile->hasEnded() ? $profile->getEndMemoryUsage(true) : false, "startPeakMemoryUsage" => $profile->getStartPeakMemoryUsage(true), "endPeakMemoryUsage" => $profile->hasEnded() ? $profile->getEndPeakMemoryUsage(true) : false);
         }
     }
     $this->data["queryCount"] = $queryCount;
     $this->data["queryTime"] = $queryTime;
     $this->data["dataSources"] = $dataSources;
 }
示例#2
0
 /**
  * {@inheritdoc}
  */
 public function getStartTime()
 {
     return $this->kernel->getStartTime();
 }
 /**
  * @param LoggerInterface $logger
  * @param QueryExecution  $queryExecution
  * @param KernelInterface $kernel
  */
 public function __construct(LoggerInterface $logger, QueryExecution $queryExecution, KernelInterface $kernel)
 {
     $this->logger = $logger;
     $this->queryExecution = $queryExecution;
     $this->startTime = $kernel->getStartTime();
 }