@Nullable public Long timestamp() {
    return timestamp > 0 ? timestamp : null;
  }
Epoch microseconds of the start of this span, possibly absent if this an incomplete span.

<p>This value should be set directly by instrumentation, using the most precise value
possible. For example, {@code gettimeofday} or multiplying {@link System#currentTimeMillis} by
1000.

<p>There are three known edge-cases where this could be reported absent:

<pre><ul>
<li>A span was allocated but never started (ex not yet received a timestamp)</li>
<li>The span's start event was lost</li>
<li>Data about a completed span (ex tags) were sent after the fact</li>
</pre><ul>

<p>Note: timestamps at or before epoch (0L == 1970) are invalid

@see #duration()
@see #timestampAsLong()
zipkin/src/main/java/zipkin2/Span.java