reactor-core/src/main/java/reactor/core/publisher/Mono.java
public final Mono<Tuple2<Long, T>> elapsed(Scheduler scheduler) {
		Objects.requireNonNull(scheduler, "scheduler");
		return onAssembly(new MonoElapsed<>(this, scheduler));
	}
public final Mono<Tuple2<Long, T>> elapsed(Scheduler scheduler) {
		Objects.requireNonNull(scheduler, "scheduler");
		return onAssembly(new MonoElapsed<>(this, scheduler));
	}
Map this {@link Mono} sequence into {@link reactor.util.function.Tuple2 Tuple2&lt;Long, T&gt;}
of timemillis and source data. The timemillis corresponds to the elapsed time between the subscribe and the first
next signal, as measured by the provided {@link Scheduler}.

<p>
<img class="marble" src="doc-files/marbles/elapsedForMono.svg" alt="">

@param scheduler a {@link Scheduler} instance to read time from
@return a new {@link Mono} that emits a tuple of time elapsed in milliseconds and matching data