class TimeDataCollector

TimeDataCollector.

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

Expanded class hierarchy of TimeDataCollector

1 file declares its use of TimeDataCollector
TimeDataCollectorTest.php in drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/TimeDataCollectorTest.php

File

drupal/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php, line 24

Namespace

Symfony\Component\HttpKernel\DataCollector
View source
class TimeDataCollector extends DataCollector {
  protected $kernel;
  public function __construct(KernelInterface $kernel = null) {
    $this->kernel = $kernel;
  }

  /**
   * {@inheritdoc}
   */
  public function collect(Request $request, Response $response, \Exception $exception = null) {
    if (null !== $this->kernel) {
      $startTime = $this->kernel
        ->getStartTime();
    }
    else {
      $startTime = $request->server
        ->get('REQUEST_TIME_FLOAT', $request->server
        ->get('REQUEST_TIME'));
    }
    $this->data = array(
      'start_time' => $startTime * 1000,
      'events' => array(),
    );
  }

  /**
   * Sets the request events.
   *
   * @param array $events The request events
   */
  public function setEvents(array $events) {
    foreach ($events as $event) {
      $event
        ->ensureStopped();
    }
    $this->data['events'] = $events;
  }

  /**
   * Gets the request events.
   *
   * @return array The request events
   */
  public function getEvents() {
    return $this->data['events'];
  }

  /**
   * Gets the request elapsed time.
   *
   * @return float The elapsed time
   */
  public function getDuration() {
    $lastEvent = $this->data['events']['__section__'];
    return $lastEvent
      ->getOrigin() + $lastEvent
      ->getDuration() - $this
      ->getStartTime();
  }

  /**
   * Gets the initialization time.
   *
   * This is the time spent until the beginning of the request handling.
   *
   * @return float The elapsed time
   */
  public function getInitTime() {
    return $this->data['events']['__section__']
      ->getOrigin() - $this
      ->getStartTime();
  }

  /**
   * Gets the request time.
   *
   * @return integer The time
   */
  public function getStartTime() {
    return $this->data['start_time'];
  }

  /**
   * {@inheritdoc}
   */
  public function getName() {
    return 'time';
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DataCollector::$data protected property
DataCollector::serialize public function
DataCollector::unserialize public function
DataCollector::varToString protected function Converts a PHP variable to a string.
TimeDataCollector::$kernel protected property
TimeDataCollector::collect public function Collects data for the given Request and Response. Overrides DataCollectorInterface::collect
TimeDataCollector::getDuration public function Gets the request elapsed time.
TimeDataCollector::getEvents public function Gets the request events.
TimeDataCollector::getInitTime public function Gets the initialization time.
TimeDataCollector::getName public function Returns the name of the collector. Overrides DataCollectorInterface::getName
TimeDataCollector::getStartTime public function Gets the request time.
TimeDataCollector::setEvents public function Sets the request events.
TimeDataCollector::__construct public function