src/main/java/io/reactivex/Observable.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE) // Supplied scheduler is only used for creating timestamps.
    public final Observable<Timed<T>> timestamp(Scheduler scheduler) {
        return timestamp(TimeUnit.MILLISECONDS, scheduler);
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE) // Supplied scheduler is only used for creating timestamps.
    public final Observable<Timed<T>> timestamp(Scheduler scheduler) {
        return timestamp(TimeUnit.MILLISECONDS, scheduler);
    }
Returns an Observable that emits each item emitted by the source ObservableSource, wrapped in a
{@link Timed} object whose timestamps are provided by a specified Scheduler.
<p>
<img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/timestamp.s.png" alt="">
<dl>
<dt><b>Scheduler:</b></dt>
<dd>This operator does not operate on any particular scheduler but uses the current time
from the specified {@link Scheduler}.</dd>
</dl>

@param scheduler
the {@link Scheduler} to use as a time source
@return an Observable that emits timestamped items from the source ObservableSource with timestamps provided by
the {@code scheduler}
@see <a href="http://reactivex.io/documentation/operators/timestamp.html">ReactiveX operators documentation: Timestamp</a>