diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-01-23 15:46:12 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-01-23 15:46:12 +0100 |
commit | 8847d9b4eef2cd159febd04cad3ebc31cc005da6 (patch) | |
tree | 74612eb3e3913095d1bc314ec38b5882402a7c21 /container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java | |
parent | d485fdef78704f15fbd0f988a639622ed73356c6 (diff) |
Implement response metric aggregator as a HttpChannel.Listener
Ensure that response metrics are incremented for error responses produced by Jetty's HTTP parser.
Diffstat (limited to 'container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java')
-rw-r--r-- | container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java index 46fbc158f0a..3ebb65e7979 100644 --- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java +++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java @@ -79,6 +79,7 @@ public class JettyHttpServer extends AbstractServerProvider { server.addConnector(connectorFactory.createConnector(metric, server, connectionLogger, connectionMetricAggregator)); listenedPorts.add(connectorConfig.listenPort()); } + server.addBeanToAllConnectors(new ResponseMetricAggregator(serverConfig.metric())); JDiscContext jDiscContext = new JDiscContext(filterBindings, container, janitor, metric, serverConfig); @@ -86,7 +87,7 @@ public class JettyHttpServer extends AbstractServerProvider { List<JDiscServerConnector> connectors = Arrays.stream(server.getConnectors()) .map(JDiscServerConnector.class::cast) .toList(); - server.setHandler(createRootHandler(serverConfig, connectors, jdiscServlet)); + server.setHandler(createRootHandler(connectors, jdiscServlet)); this.metricsReporter = new ServerMetricReporter(metric, server); } @@ -117,8 +118,7 @@ public class JettyHttpServer extends AbstractServerProvider { } } - private Handler createRootHandler( - ServerConfig serverCfg, List<JDiscServerConnector> connectors, ServletHolder jdiscServlet) { + private Handler createRootHandler(List<JDiscServerConnector> connectors, ServletHolder jdiscServlet) { HandlerCollection perConnectorHandlers = new ContextHandlerCollection(); for (JDiscServerConnector connector : connectors) { ConnectorConfig connectorCfg = connector.connectorConfig(); @@ -136,8 +136,7 @@ public class JettyHttpServer extends AbstractServerProvider { perConnectorHandlers.addHandler(connectorRoot); } StatisticsHandler root = newGenericStatisticsHandler(); - addChainToRoot(root, List.of( - newResponseStatisticsHandler(serverCfg), newGzipHandler(), perConnectorHandlers)); + addChainToRoot(root, List.of(newGzipHandler(), perConnectorHandlers)); return root; } @@ -228,10 +227,6 @@ public class JettyHttpServer extends AbstractServerProvider { return new TlsClientAuthenticationEnforcer(cfg.tlsClientAuthEnforcer()); } - private static HttpResponseStatisticsCollector newResponseStatisticsHandler(ServerConfig cfg) { - return new HttpResponseStatisticsCollector(cfg.metric()); - } - private static StatisticsHandler newGenericStatisticsHandler() { StatisticsHandler statisticsHandler = new StatisticsHandler(); statisticsHandler.statsReset(); |