reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final Flux<Tuple2<Long, T>> elapsed(Scheduler scheduler) {
		Objects.requireNonNull(scheduler, "scheduler");
		return onAssembly(new FluxElapsed<>(this, scheduler));
	}
public final Flux<Tuple2<Long, T>> elapsed(Scheduler scheduler) {
		Objects.requireNonNull(scheduler, "scheduler");
		return onAssembly(new FluxElapsed<>(this, scheduler));
	}
Map this {@link Flux} into {@link reactor.util.function.Tuple2 Tuple2&lt;Long, T&gt;}
of timemillis and source data. The timemillis corresponds to the elapsed time
between each signal as measured by the provided {@link Scheduler}.
First duration is measured between the subscription and the first element.
<p>
<img class="marble" src="doc-files/marbles/elapsedForFlux.svg" alt="">

@param scheduler a {@link Scheduler} instance to {@link Scheduler#now(TimeUnit) read time from}

@return a new {@link Flux} that emits tuples of time elapsed in milliseconds and matching data