models/classes/runner/QtiRunnerService.php
public function startTimer(RunnerServiceContext $context, $timestamp = null)
    {
        if ($context instanceof QtiRunnerServiceContext) {
            /* @var TestSession $session */
            $session = $context->getTestSession();
            if($session->getState() === AssessmentTestSessionState::INTERACTING) {
                $session->startItemTimer($timestamp);
            }
        } else {
            throw new \common_exception_InvalidArgumentType(
                'QtiRunnerService',
                'startTimer',
                0,
                'oat\taoQtiTest\models\runner\QtiRunnerServiceContext',
                $context
            );
        }
        return true;
    }
public function startTimer(RunnerServiceContext $context, $timestamp = null)
    {
        if ($context instanceof QtiRunnerServiceContext) {
            /* @var TestSession $session */
            $session = $context->getTestSession();
            if($session->getState() === AssessmentTestSessionState::INTERACTING) {
                $session->startItemTimer($timestamp);
            }
        } else {
            throw new \common_exception_InvalidArgumentType(
                'QtiRunnerService',
                'startTimer',
                0,
                'oat\taoQtiTest\models\runner\QtiRunnerServiceContext',
                $context
            );
        }
        return true;
    }
Starts the timer for the current item in the TestSession

@param RunnerServiceContext $context
@param float $timestamp allow to start the timer at a specific time, or use current when it's null
@return bool
@throws \common_exception_InvalidArgumentType