summaryrefslogtreecommitdiffstats
path: root/container-core/src/main
diff options
context:
space:
mode:
authorMorten Tokle <mortent@yahooinc.com>2023-10-23 15:22:17 +0200
committerMorten Tokle <mortent@yahooinc.com>2023-10-23 15:22:17 +0200
commitca2087c3711ff4514d44a272b2a1798877e9873a (patch)
treebdd1ef83d4adc35836ccbfb1fac0319e575f85f7 /container-core/src/main
parentf70f96660c1cfc53fda1a69efa7e8d61a2402373 (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.java6
-rw-r--r--container-core/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def3
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