This is an automated email from the ASF dual-hosted git repository. chesnay pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push: new 7ae291c [FLINK-10082][metrics][slf4j] Provide initial size to StringBuilder 7ae291c is described below commit 7ae291c1ab3a394998aa08b1047726897aad45d4 Author: Chesnay Schepler <ches...@apache.org> AuthorDate: Mon Aug 20 17:41:27 2018 +0200 [FLINK-10082][metrics][slf4j] Provide initial size to StringBuilder --- .../java/org/apache/flink/metrics/slf4j/Slf4jReporter.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporter.java b/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporter.java index 5efac30..124efe2 100644 --- a/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporter.java +++ b/flink-metrics/flink-metrics-slf4j/src/main/java/org/apache/flink/metrics/slf4j/Slf4jReporter.java @@ -42,6 +42,9 @@ public class Slf4jReporter extends AbstractReporter implements Scheduled { private static final Logger LOG = LoggerFactory.getLogger(Slf4jReporter.class); private static final String lineSeparator = System.lineSeparator(); + // the initial size roughly fits ~150 metrics with default scope settings + private int previousSize = 16384; + @VisibleForTesting Map<Gauge<?>, String> getGauges() { return gauges; @@ -72,7 +75,10 @@ public class Slf4jReporter extends AbstractReporter implements Scheduled { @Override public void report() { - StringBuilder builder = new StringBuilder(); + // initialize with previous size to avoid repeated resizing of backing array + // pad the size to allow deviations in the final string, for example due to different double value representations + StringBuilder builder = new StringBuilder((int) (previousSize * 1.1)); + builder .append(lineSeparator) .append("=========================== Starting metrics report ===========================") @@ -134,6 +140,8 @@ public class Slf4jReporter extends AbstractReporter implements Scheduled { .append("=========================== Finished metrics report ===========================") .append(lineSeparator); LOG.info(builder.toString()); + + previousSize = builder.length(); } @Override