AsyncPHP\Doorman\Manager\ProcessManager::getProfileForProcesses PHP Method

getProfileForProcesses() private method

Gets the load profile related to a task.
private getProfileForProcesses ( AsyncPHP\Doorman\Task $task, array $processes ) : AsyncPHP\Doorman\Profile
$task AsyncPHP\Doorman\Task
$processes array
return AsyncPHP\Doorman\Profile
    private function getProfileForProcesses(Task $task, array $processes)
    {
        $stats = $this->getStatsForProcesses($processes);
        $siblingProcesses = array_filter($processes, function (Task $next) use($task) {
            return $next->getHandler() === $task->getHandler();
        });
        $siblingStats = $this->getStatsForProcesses($siblingProcesses);
        $profile = $this->newProfile();
        $profile->setProcesses($processes);
        $profile->setProcessorLoad(min(100, array_sum(array_column($stats, 1))));
        $profile->setMemoryLoad(min(100, array_sum(array_column($stats, 2))));
        $profile->setSiblingProcesses($siblingProcesses);
        $profile->setSiblingProcessorLoad(min(100, array_sum(array_column($siblingStats, 1))));
        $profile->setSiblingMemoryLoad(min(100, array_sum(array_column($siblingStats, 2))));
        return $profile;
    }