src/Timeline/TimelineDataBuilder.php
private function getExecutors(): array
    {
        $testElements = $this->xml->xpath('//testcase/test[@status="done"]');
        $hasTestWithoutExecutor = false;
        $executors = [];

        foreach ($testElements as $testElement) {
            $executorValue = (string) $testElement['executor'];

            if (!empty($executorValue)) {
                $executors[] = $executorValue;
            } else {
                $hasTestWithoutExecutor = true;
            }
        }

        $executors = array_unique($executors);
        // sort and reindex
        sort($executors);
        // use executors index as a value and executor name as a key
        $executors = array_flip($executors);

        if ($hasTestWithoutExecutor) {
            $executors['unknown'] = 'unknown';
        }

        return $executors;
    }
private function getExecutors(): array
    {
        $testElements = $this->xml->xpath('//testcase/test[@status="done"]');
        $hasTestWithoutExecutor = false;
        $executors = [];

        foreach ($testElements as $testElement) {
            $executorValue = (string) $testElement['executor'];

            if (!empty($executorValue)) {
                $executors[] = $executorValue;
            } else {
                $hasTestWithoutExecutor = true;
            }
        }

        $executors = array_unique($executors);
        // sort and reindex
        sort($executors);
        // use executors index as a value and executor name as a key
        $executors = array_flip($executors);

        if ($hasTestWithoutExecutor) {
            $executors['unknown'] = 'unknown';
        }

        return $executors;
    }
Get array of unique executors

@return array Array of executors, key = executor URL, value = executor ID