@Nullable public Long duration() {
    return duration > 0 ? duration : null;
  }
Measurement in microseconds of the critical path, if known. Durations of less than one
microsecond must be rounded up to 1 microsecond.

<p>This value should be set directly, as opposed to implicitly via annotation timestamps.
Doing so encourages precision decoupled from problems of clocks, such as skew or NTP updates
causing time to move backwards.

<p>If this field is persisted as unset, zipkin will continue to work, except duration query
support will be implementation-specific. Similarly, setting this field non-atomically is
implementation-specific.

<p>This field is i64 vs i32 to support spans longer than 35 minutes.

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