code: public final Flux<T> doOnEach(Consumer<? super Signal<T>> signalConsumer) {
  		if (this instanceof Fuseable) {
  			return onAssembly(new FluxDoOnEachFuseable<>(this, signalConsumer));
  		}
  		return onAssembly(new FluxDoOnEach<>(this, signalConsumer));
  	}
docs: Add behavior (side-effects) triggered when the {@link Flux} emits an item, fails with an error
  or completes successfully. All these events are represented as a {@link Signal}
  that is passed to the side-effect callback. Note that this is an advanced operator,
  typically used for monitoring of a Flux. These {@link Signal} have a {@link Context}
  associated to them.
  <p>
  <img class="marble" src="doc-files/marbles/doOnEachForFlux.svg" alt="">
  
  @param signalConsumer the mandatory callback to call on
  {@link Subscriber#onNext(Object)}, {@link Subscriber#onError(Throwable)} and
  {@link Subscriber#onComplete()}
  @return an observed {@link Flux}
  @see #doOnNext(Consumer)
  @see #doOnError(Consumer)
  @see #doOnComplete(Runnable)
  @see #materialize()
  @see Signal