-
Notifications
You must be signed in to change notification settings - Fork 104
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package io.arex.inst.common.util; | ||
|
||
import io.arex.agent.bootstrap.ctx.TraceTransmitter; | ||
import java.util.function.Function; | ||
import reactor.core.publisher.Mono; | ||
|
||
public class MonoRecordFunction implements Function<Mono<?>, Mono<?>> { | ||
|
||
private final Function<Object, Void> executor; | ||
private final TraceTransmitter traceTransmitter; | ||
|
||
public MonoRecordFunction(Function<Object, Void> executor) { | ||
this.traceTransmitter = TraceTransmitter.create(); | ||
this.executor = executor; | ||
} | ||
Check warning on line 15 in arex-instrumentation/common/arex-common/src/main/java/io/arex/inst/common/util/MonoRecordFunction.java
|
||
|
||
@Override | ||
public Mono<?> apply(Mono<?> responseMono) { | ||
return responseMono | ||
.doOnSuccess(result -> { | ||
try (TraceTransmitter tm = traceTransmitter.transmit()) { | ||
executor.apply(result); | ||
Check warning on line 22 in arex-instrumentation/common/arex-common/src/main/java/io/arex/inst/common/util/MonoRecordFunction.java
|
||
} | ||
}) | ||
.doOnError(error -> { | ||
try (TraceTransmitter tm = traceTransmitter.transmit()) { | ||
executor.apply(error); | ||
Check warning on line 27 in arex-instrumentation/common/arex-common/src/main/java/io/arex/inst/common/util/MonoRecordFunction.java
|
||
} | ||
}); | ||
Check warning on line 29 in arex-instrumentation/common/arex-common/src/main/java/io/arex/inst/common/util/MonoRecordFunction.java
|
||
} | ||
} |
This file was deleted.
This file was deleted.