public function start(string $name, float $time = null)
	{
		$this->timers[strtolower($name)] = [
			'start' => ! empty($time) ? $time : microtime(true),
			'end'   => null,
		];

		return $this;
	}
public function start(string $name, float $time = null)
	{
		$this->timers[strtolower($name)] = [
			'start' => ! empty($time) ? $time : microtime(true),
			'end'   => null,
		];

		return $this;
	}
public function start ( string $ name , float $ time = null ) { $ this -> timers [ strtolower ( $ name ) ] = [ 'start' => ! empty ( $ time ) ? $ time : microtime ( true ) , 'end' => null , ] ; return $ this ; }
Starts a timer running.

Multiple calls can be made to this method so that several
execution points can be measured.

@param string $name The name of this timer.
@param float  $time Allows user to provide time.

@return Timer
Starts a timer running .