public function start(?int $timestamp = null): void
    {
        if ($timestamp === null) {
            $timestamp = now();
        } else {
            if (!isValid($timestamp)) {
                throw new InvalidArgumentException(
                    sprintf('Invalid timestamp. Expected int, got %s', $timestamp)
                );
            }
        }

        $this->recorder->start($this->traceContext, $timestamp);
    }
public function start(?int $timestamp = null): void
    {
        if ($timestamp === null) {
            $timestamp = now();
        } else {
            if (!isValid($timestamp)) {
                throw new InvalidArgumentException(
                    sprintf('Invalid timestamp. Expected int, got %s', $timestamp)
                );
            }
        }

        $this->recorder->start($this->traceContext, $timestamp);
    }
public function start ( ? int $ timestamp = null ) : void { if ( $ timestamp === null ) { $ timestamp = now ( ) ; } else { if ( ! isValid ( $ timestamp ) ) { throw new InvalidArgumentException ( sprintf ( 'Invalid timestamp. Expected int, got %s' , $ timestamp ) ) ; } } $ this -> recorder -> start ( $ this -> traceContext , $ timestamp ) ; }
Starts the span with an implicit timestamp.

Spans can be modified before calling start. For example, you can add tags to the span and
set its name without lock contention.

@param int $timestamp
@return void
@throws \InvalidArgumentException
Starts the span with an implicit timestamp .