diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-10-18 18:02:33 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-10-18 18:02:33 +0200 |
commit | 05d9d98fc2bb3119281206eaaf63effb3b5d194e (patch) | |
tree | 0aec4034fcab19ccde2c1cac0bde5c3baf1b4dce /container-core | |
parent | a789e80b3f55aaff78b095a091cfcd68668e9c06 (diff) |
Correctly pre-size frequently created HashMap
Diffstat (limited to 'container-core')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/core/HandlerMetricContextUtil.java | 2 | ||||
-rw-r--r-- | container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/HandlerMetricContextUtil.java b/container-core/src/main/java/com/yahoo/container/core/HandlerMetricContextUtil.java index 7a9266446a1..b7a5732561f 100644 --- a/container-core/src/main/java/com/yahoo/container/core/HandlerMetricContextUtil.java +++ b/container-core/src/main/java/com/yahoo/container/core/HandlerMetricContextUtil.java @@ -38,7 +38,7 @@ public class HandlerMetricContextUtil { String name = matched.toString(); String endpoint = request.headers().containsKey("Host") ? request.headers().get("Host").get(0) : null; - Map<String, String> dimensions = new HashMap<>(); + Map<String, String> dimensions = new HashMap<>(extraDimensions.size() + 5); dimensions.put("handler", name); if (endpoint != null) { dimensions.put("endpoint", endpoint); diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java index 49db22c3e38..b3069a64821 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java @@ -41,7 +41,7 @@ class JDiscServerConnector extends ServerConnector { this.metric = metric; this.connectorName = config.name(); this.listenPort = config.listenPort(); - this.metricCtx = metric.createContext(createConnectorDimensions(listenPort, connectorName)); + this.metricCtx = metric.createContext(createConnectorDimensions(listenPort, connectorName, 0)); this.statistics = new ConnectionStatistics(); addBean(statistics); @@ -81,7 +81,7 @@ class JDiscServerConnector extends ServerConnector { String method = request.getMethod(); String scheme = request.getScheme(); boolean clientAuthenticated = request.getAttribute(RequestUtils.SERVLET_REQUEST_X509CERT) != null; - Map<String, Object> dimensions = createConnectorDimensions(listenPort, connectorName); + Map<String, Object> dimensions = createConnectorDimensions(listenPort, connectorName, extraDimensions.size() + 5); dimensions.put(MetricDefinitions.METHOD_DIMENSION, method); dimensions.put(MetricDefinitions.SCHEME_DIMENSION, scheme); dimensions.put(MetricDefinitions.CLIENT_AUTHENTICATED_DIMENSION, Boolean.toString(clientAuthenticated)); @@ -104,8 +104,8 @@ class JDiscServerConnector extends ServerConnector { return listenPort; } - private static Map<String, Object> createConnectorDimensions(int listenPort, String connectorName) { - Map<String, Object> props = new HashMap<>(); + private static Map<String, Object> createConnectorDimensions(int listenPort, String connectorName, int reservedSize) { + Map<String, Object> props = new HashMap<>(reservedSize + 2); props.put(MetricDefinitions.NAME_DIMENSION, connectorName); props.put(MetricDefinitions.PORT_DIMENSION, listenPort); return props; |