0 follower

Final Class Yiisoft\Yii\Debug\Collector\Console\ConsoleAppInfoCollector

InheritanceYiisoft\Yii\Debug\Collector\Console\ConsoleAppInfoCollector
ImplementsYiisoft\Yii\Debug\Collector\SummaryCollectorInterface
Uses TraitsYiisoft\Yii\Debug\Collector\CollectorTrait

Method Details

Hide inherited methods

__construct() public method

public mixed __construct ( Yiisoft\Yii\Debug\Collector\TimelineCollector $timelineCollector )
$timelineCollector Yiisoft\Yii\Debug\Collector\TimelineCollector

                public function __construct(
    private readonly TimelineCollector $timelineCollector
) {
}

            
collect() public method

public void collect ( object $event )
$event object

                public function collect(object $event): void
{
    if (!$this->isActive()) {
        return;
    }
    if ($event instanceof ApplicationStartup) {
        $this->applicationProcessingTimeStarted = microtime(true);
    } elseif ($event instanceof ConsoleCommandEvent) {
        $this->requestProcessingTimeStarted = microtime(true);
    } elseif ($event instanceof ConsoleErrorEvent) {
        /**
         * If we receive this event, then {@see ConsoleCommandEvent} hasn't received and won't.
         * So {@see requestProcessingTimeStarted} equals to 0 now and better to set it at least with application startup time.
         */
        $this->requestProcessingTimeStarted = $this->applicationProcessingTimeStarted;
        $this->requestProcessingTimeStopped = microtime(true);
    } elseif ($event instanceof ConsoleTerminateEvent) {
        $this->requestProcessingTimeStopped = microtime(true);
    } elseif ($event instanceof ApplicationShutdown) {
        $this->applicationProcessingTimeStopped = microtime(true);
    }
    $this->timelineCollector->collect($this, spl_object_id($event));
}

            
getCollected() public method

public array getCollected ( )

                public function getCollected(): array
{
    if (!$this->isActive()) {
        return [];
    }
    return [
        'applicationProcessingTime' => $this->applicationProcessingTimeStopped - $this->applicationProcessingTimeStarted,
        'preloadTime' => $this->applicationProcessingTimeStarted - $this->requestProcessingTimeStarted,
        'applicationEmit' => $this->applicationProcessingTimeStopped - $this->requestProcessingTimeStopped,
        'requestProcessingTime' => $this->requestProcessingTimeStopped - $this->requestProcessingTimeStarted,
        'memoryPeakUsage' => memory_get_peak_usage(),
        'memoryUsage' => memory_get_usage(),
    ];
}

            
getName() public method
public string getName ( )

                public function getName(): string
{
    return self::class;
}

            
getSummary() public method

public array getSummary ( )

                public function getSummary(): array
{
    if (!$this->isActive()) {
        return [];
    }
    return [
        'php' => [
            'version' => PHP_VERSION,
        ],
        'request' => [
            'startTime' => $this->requestProcessingTimeStarted,
            'processingTime' => $this->requestProcessingTimeStopped - $this->requestProcessingTimeStarted,
        ],
        'memory' => [
            'peakUsage' => memory_get_peak_usage(),
        ],
    ];
}

            
shutdown() public method
public void shutdown ( )

                public function shutdown(): void
{
    $this->reset();
    $this->isActive = false;
}

            
startup() public method
public void startup ( )

                public function startup(): void
{
    $this->isActive = true;
}