class TimeDataCollector in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php \Symfony\Component\HttpKernel\DataCollector\TimeDataCollector
TimeDataCollector.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Symfony\Component\HttpKernel\DataCollector\DataCollector implements \Symfony\Component\HttpKernel\DataCollector\Serializable, DataCollectorInterface- class \Symfony\Component\HttpKernel\DataCollector\TimeDataCollector implements LateDataCollectorInterface
 
Expanded class hierarchy of TimeDataCollector
1 file declares its use of TimeDataCollector
- TimeDataCollectorTest.php in vendor/symfony/ http-kernel/ Tests/ DataCollector/ TimeDataCollectorTest.php 
File
- vendor/symfony/ http-kernel/ DataCollector/ TimeDataCollector.php, line 23 
Namespace
Symfony\Component\HttpKernel\DataCollectorView source
class TimeDataCollector extends DataCollector implements LateDataCollectorInterface {
  protected $kernel;
  protected $stopwatch;
  public function __construct(KernelInterface $kernel = null, $stopwatch = null) {
    $this->kernel = $kernel;
    $this->stopwatch = $stopwatch;
  }
  /**
   * {@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(
      'token' => $response->headers
        ->get('X-Debug-Token'),
      'start_time' => $startTime * 1000,
      'events' => array(),
    );
  }
  /**
   * {@inheritdoc}
   */
  public function lateCollect() {
    if (null !== $this->stopwatch && isset($this->data['token'])) {
      $this
        ->setEvents($this->stopwatch
        ->getSectionEvents($this->data['token']));
    }
    unset($this->data['token']);
  }
  /**
   * 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() {
    if (!isset($this->data['events']['__section__'])) {
      return 0;
    }
    $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() {
    if (!isset($this->data['events']['__section__'])) {
      return 0;
    }
    return $this->data['events']['__section__']
      ->getOrigin() - $this
      ->getStartTime();
  }
  /**
   * Gets the request time.
   *
   * @return int The time
   */
  public function getStartTime() {
    return $this->data['start_time'];
  }
  /**
   * {@inheritdoc}
   */
  public function getName() {
    return 'time';
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| DataCollector:: | protected | property | ||
| DataCollector:: | private | property | ||
| DataCollector:: | public | function | 1 | |
| DataCollector:: | public | function | 1 | |
| DataCollector:: | protected | function | Converts a PHP variable to a string. | |
| TimeDataCollector:: | protected | property | ||
| TimeDataCollector:: | protected | property | ||
| TimeDataCollector:: | public | function | Collects data for the given Request and Response. Overrides DataCollectorInterface:: | |
| TimeDataCollector:: | public | function | Gets the request elapsed time. | |
| TimeDataCollector:: | public | function | Gets the request events. | |
| TimeDataCollector:: | public | function | Gets the initialization time. | |
| TimeDataCollector:: | public | function | Returns the name of the collector. Overrides DataCollectorInterface:: | |
| TimeDataCollector:: | public | function | Gets the request time. | |
| TimeDataCollector:: | public | function | Collects data as late as possible. Overrides LateDataCollectorInterface:: | |
| TimeDataCollector:: | public | function | Sets the request events. | |
| TimeDataCollector:: | public | function | 
