From c340cfbcc83095458dd5d900a676cda68fc24834 Mon Sep 17 00:00:00 2001 From: Marco Gaido Date: Wed, 16 Oct 2019 18:41:34 +0200 Subject: [PATCH] Avoid creation of multiple reporters --- src/main/java/com/uber/profiling/Arguments.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/uber/profiling/Arguments.java b/src/main/java/com/uber/profiling/Arguments.java index 8052355..4ce8497 100644 --- a/src/main/java/com/uber/profiling/Arguments.java +++ b/src/main/java/com/uber/profiling/Arguments.java @@ -59,6 +59,7 @@ public class Arguments { private boolean noop = false; private Constructor reporterConstructor; + private Reporter reporter; private Constructor configProviderConstructor; private String configFile; @@ -260,11 +261,12 @@ public Map> getRawArgValues() { } public Reporter getReporter() { + if (reporter != null) return reporter; if (reporterConstructor == null) { return new ConsoleOutputReporter(); } else { try { - Reporter reporter = reporterConstructor.newInstance(); + reporter = reporterConstructor.newInstance(); reporter.updateArguments(getRawArgValues()); return reporter; } catch (Throwable e) {