diff options
author | Morten Tokle <mortent@yahooinc.com> | 2023-10-23 15:22:17 +0200 |
---|---|---|
committer | Morten Tokle <mortent@yahooinc.com> | 2023-10-23 15:22:17 +0200 |
commit | ca2087c3711ff4514d44a272b2a1798877e9873a (patch) | |
tree | bdd1ef83d4adc35836ccbfb1fac0319e575f85f7 /container-core/src/main | |
parent | f70f96660c1cfc53fda1a69efa7e8d61a2402373 (diff) |
Only report known dimension values
Diffstat (limited to 'container-core/src/main')
-rw-r--r-- | container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java | 6 | ||||
-rw-r--r-- | container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def | 3 |
2 files changed, 7 insertions, 2 deletions
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 e699b9f200c..983adec034d 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 @@ -11,8 +11,8 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import java.util.HashMap; +import java.util.List; import java.util.Map; -import java.util.Optional; /** * @author bjorncs @@ -26,6 +26,7 @@ class JDiscServerConnector extends ServerConnector { private final Metric metric; private final String connectorName; private final int listenPort; + private final List<String> knownServerNames; JDiscServerConnector(ConnectorConfig config, Metric metric, Server server, JettyConnectionLogger connectionLogger, ConnectionMetricAggregator connectionMetricAggregator, ConnectionFactory... factories) { @@ -35,6 +36,7 @@ class JDiscServerConnector extends ServerConnector { this.connectorName = config.name(); this.listenPort = config.listenPort(); this.metricCtx = metric.createContext(createConnectorDimensions(listenPort, connectorName, 0)); + this.knownServerNames = List.copyOf(config.serverName().known()); this.statistics = new ConnectionStatistics(); setAcceptedTcpNoDelay(config.tcpNoDelay()); @@ -69,7 +71,7 @@ class JDiscServerConnector extends ServerConnector { dimensions.put(MetricDefinitions.SCHEME_DIMENSION, scheme); dimensions.put(MetricDefinitions.CLIENT_AUTHENTICATED_DIMENSION, Boolean.toString(clientAuthenticated)); dimensions.put(MetricDefinitions.PROTOCOL_DIMENSION, request.getProtocol()); - String serverName = Optional.ofNullable(request.getServerName()).orElse("unknown"); + String serverName = knownServerNames.stream().filter(name -> name.equalsIgnoreCase(request.getServerName())).findFirst().orElse("unknown"); dimensions.put(MetricDefinitions.REQUEST_SERVER_NAME_DIMENSION, serverName); dimensions.putAll(extraDimensions); return metric.createContext(dimensions); diff --git a/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def index c1c0944d7eb..b4a513e0de8 100644 --- a/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def +++ b/container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def @@ -139,6 +139,9 @@ serverName.fallback string default="" # The list of accepted server names. Empty list to accept any. Elements follows format of 'serverName.default'. serverName.allowed[] string +# The list of known server names. Used for e.g matching metric dimensions. +serverName.known[] string + # HTTP request headers that contain remote address accessLog.remoteAddressHeaders[] string |