So berechnen Sie die gesamte Prozesszeit in Java ReactiveJava

Java-Forum
Guest
 So berechnen Sie die gesamte Prozesszeit in Java Reactive

Post by Guest »

Ich habe eine reaktive Java-Spring-Boot-App, in der ich die folgende Logik ausführe: Ich möchte protokollieren, wie viel Zeit es dauert, diese gesamte Methode abzuschließen. Ich kann die Methodensignatur ändern, möchte sie aber beibehalten.

Code: Select all

public Flux verifyStuff(){
return client.getSomeData1(query)
.doOnNext(
result1 -> log.info("Retrieved '{}' ", result1.size()))
.flatMapMany(result1 -> Flux.fromStream(result1.stream())
.concatMap(this::verifyresult1()));
}
Die Methode ruft also tatsächlich reaktiv eine Ergebnisliste ab und ruft nacheinander einen anderen Dienst auf.
Ich habe versucht, elapsed() zu verwenden, komme mir aber nicht aus der Fassung herum, wie es funktioniert.
Auch die folgende Version ausprobiert.

Code: Select all

public Flux verifyStuff(){
StopWatch stopWatch = new StopWatch();
stopWatch.start();
return client.getSomeData1(query)
.doOnNext(
result1 -> log.info("Retrieved '{}' ", result1.size()))
.flatMapMany(result1 -> Flux.fromStream(result1.stream())
.concatMap(this::verifyresult1())
.doFinally(signalType -> {
stopWatch.stop();
log.info("To execution time for verifying marketplace partners is {}ms",
stopWatch.getTotalTimeMillis());
});;
}
Damit ist das Protokoll jedoch abgeschlossen, bevor der gesamte Fluss unter „verifyresult1“ aufgelöst ist

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post