From 268c705106a1f570910c017c20b13cbf41066298 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 16 Jun 2021 16:20:19 +0200 Subject: [PATCH] The build time event spy should aggregate values for each mojo, fixes #430 --- .../org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java b/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java index 488bab23..0edbad5e 100644 --- a/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java +++ b/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java @@ -16,6 +16,7 @@ package org.mvndaemon.mvnd.timing; import java.util.Comparator; +import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.Map.Entry; @@ -110,10 +111,16 @@ public class BuildTimeEventSpy extends AbstractEventSpy { log.accept(DIVIDER); log.accept("Build Time Summary:"); log.accept(DIVIDER); + Map mojos = new HashMap<>(); session.projects().forEach(p -> { log.accept(String.format("%s [%.3fs]", p.name(), p.duration() / 1000d)); - p.mojos().forEach(m -> log.accept(String.format(" %s [%.3fs]", m.name(), m.duration() / 1000d))); + p.mojos().forEach(m -> { + log.accept(String.format(" %s [%.3fs]", m.name(), m.duration() / 1000d)); + mojos.merge(m.name(), m.duration(), Long::sum); + }); }); + log.accept(DIVIDER); + mojos.forEach((name, duration) -> log.accept(String.format(" %s [%.3fs]", name, duration / 1000d))); } private static class Session {