diff options
author | Bjørn Christian Seime <bjorncs@oath.com> | 2018-07-06 15:59:59 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@oath.com> | 2018-07-06 16:02:57 +0200 |
commit | fe1028e5ae93593dd42ec9358e1aeb17d507d993 (patch) | |
tree | 174445f55f6428d77b503e1c12750e51ff72d020 /jdisc_http_service/src/main/java/com/yahoo | |
parent | b0bae44cb79ffa2b28bded8c075986cb6414c862 (diff) |
Revert "Add matched binding as dimension when available"
This reverts commit 7c91a519d21689b66680c20af239d0882c7ade8c.
Diffstat (limited to 'jdisc_http_service/src/main/java/com/yahoo')
6 files changed, 16 insertions, 35 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java index a07ad08d797..db7670b604a 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestDispatch.java @@ -2,6 +2,7 @@ package com.yahoo.jdisc.http.server.jetty; import com.yahoo.container.logging.AccessLogEntry; +import com.yahoo.jdisc.Metric.Context; import com.yahoo.jdisc.References; import com.yahoo.jdisc.ResourceReference; import com.yahoo.jdisc.Response; @@ -21,7 +22,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.util.Map; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; import java.util.concurrent.atomic.AtomicBoolean; @@ -54,7 +54,7 @@ class HttpRequestDispatch { public HttpRequestDispatch(JDiscContext jDiscContext, AccessLogEntry accessLogEntry, - Map<String, Object> requestMetricDimensions, + Context metricContext, HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws IOException { this.jDiscContext = jDiscContext; @@ -62,7 +62,7 @@ class HttpRequestDispatch { requestHandler = newRequestHandler(jDiscContext, accessLogEntry, servletRequest); this.jettyRequest = (Request) servletRequest; - this.metricReporter = new MetricReporter(jDiscContext.metric, requestMetricDimensions, jettyRequest.getTimeStamp()); + this.metricReporter = new MetricReporter(jDiscContext.metric, metricContext, jettyRequest.getTimeStamp()); honourMaxKeepAliveRequests(); this.servletResponseController = new ServletResponseController( servletRequest, @@ -159,7 +159,6 @@ class HttpRequestDispatch { try (ResourceReference ref = References.fromResource(jdiscRequest)) { HttpRequestFactory.copyHeaders(jettyRequest, jdiscRequest); requestContentChannel = requestHandler.handleRequest(jdiscRequest, servletResponseController.responseHandler); - metricReporter.setBindingMatch(jdiscRequest.getBindingMatch()); } ServletInputStream servletInputStream = jettyRequest.getInputStream(); diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java index ee6d89dd088..609456c562a 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscFilterInvokerFilter.java @@ -127,7 +127,7 @@ class JDiscFilterInvokerFilter implements Filter { final AccessLogEntry accessLogEntry = null; // Not used in this context. return new HttpRequestDispatch(jDiscContext, accessLogEntry, - getConnector(request).getRequestMetricDimensions(request), + getConnector(request).getRequestMetricContext(request), request, response); } catch (IOException e) { throw throwUnchecked(e); diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscHttpServlet.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscHttpServlet.java index 3b81dd94e11..2f5fe7612c8 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscHttpServlet.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscHttpServlet.java @@ -14,7 +14,6 @@ import java.io.IOException; import java.util.Arrays; import java.util.Enumeration; import java.util.HashSet; -import java.util.Map; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -91,7 +90,7 @@ class JDiscHttpServlet extends HttpServlet { throws ServletException, IOException { request.setAttribute(JDiscServerConnector.REQUEST_ATTRIBUTE, getConnector(request)); - Metric.Context metricContext = context.metric.createContext(getRequestMetricDimensions(request)); + Metric.Context metricContext = getMetricContext(request); context.metric.add(JettyHttpServer.Metrics.NUM_REQUESTS, 1, metricContext); context.metric.add(JettyHttpServer.Metrics.JDISC_HTTP_REQUESTS, 1, metricContext); context.metric.add(JettyHttpServer.Metrics.MANHATTAN_NUM_REQUESTS, 1, metricContext); @@ -114,7 +113,7 @@ class JDiscHttpServlet extends HttpServlet { try { switch (request.getDispatcherType()) { case REQUEST: - new HttpRequestDispatch(context, accessLogEntry, getRequestMetricDimensions(request), request, response) + new HttpRequestDispatch(context, accessLogEntry, getMetricContext(request), request, response) .dispatch(); break; default: @@ -130,8 +129,8 @@ class JDiscHttpServlet extends HttpServlet { } } - private static Map<String, Object> getRequestMetricDimensions(HttpServletRequest request) { - return JDiscServerConnector.fromRequest(request).getRequestMetricDimensions(request); + private static Metric.Context getMetricContext(HttpServletRequest request) { + return JDiscServerConnector.fromRequest(request).getRequestMetricContext(request); } private static String formatAttributes(final HttpServletRequest request) { diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java index 118079a2fba..8825ccdfc60 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JDiscServerConnector.java @@ -15,7 +15,6 @@ import java.lang.reflect.Field; import java.net.Socket; import java.net.SocketException; import java.nio.channels.ServerSocketChannel; -import java.util.HashMap; import java.util.Map; import java.util.TreeMap; import java.util.logging.Level; @@ -124,12 +123,12 @@ class JDiscServerConnector extends ServerConnector { return metricCtx; } - public Map<String, Object> getRequestMetricDimensions(HttpServletRequest request) { - Map<String, Object> props = new HashMap<>(); + public Metric.Context getRequestMetricContext(HttpServletRequest request) { + Map<String, Object> props = new TreeMap<>(); props.put(JettyHttpServer.Metrics.NAME_DIMENSION, connectorName); props.put(JettyHttpServer.Metrics.PORT_DIMENSION, listenPort); props.put(JettyHttpServer.Metrics.METHOD_DIMENSION, request.getMethod()); - return props; + return metric.createContext(props); } public static JDiscServerConnector fromRequest(ServletRequest request) { diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java index 24367863fbc..f149d6eb34d 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/JettyHttpServer.java @@ -67,7 +67,6 @@ public class JettyHttpServer extends AbstractServerProvider { String NAME_DIMENSION = "serverName"; String PORT_DIMENSION = "serverPort"; String METHOD_DIMENSION = "httpMethod"; - String HANDLER_DIMENSION = "handler"; String NUM_OPEN_CONNECTIONS = "serverNumOpenConnections"; String NUM_CONNECTIONS_OPEN_MAX = "serverConnectionsOpenMax"; diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricReporter.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricReporter.java index fc64e90d463..53f330bbc7e 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricReporter.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricReporter.java @@ -3,25 +3,20 @@ package com.yahoo.jdisc.http.server.jetty; import com.yahoo.jdisc.Metric; import com.yahoo.jdisc.Metric.Context; -import com.yahoo.jdisc.application.BindingMatch; -import com.yahoo.jdisc.application.UriPattern; -import com.yahoo.jdisc.handler.RequestHandler; + import com.yahoo.jdisc.http.server.jetty.JettyHttpServer.Metrics; +import org.jetbrains.annotations.Nullable; -import java.util.HashMap; -import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; /** * Responsible for metric reporting for JDisc http request handler support. - * * @author Tony Vaagenes */ public class MetricReporter { private final Metric metric; - private volatile Context context; - private final Map<String, Object> requestDimensions; + private final @Nullable Context context; private final long requestStartTime; @@ -29,22 +24,12 @@ public class MetricReporter { private final AtomicBoolean firstSetOfTimeToFirstByte = new AtomicBoolean(true); - public MetricReporter(Metric metric, Map<String, Object> requestDimensions, long requestStartTime) { + public MetricReporter(Metric metric, @Nullable Context context, long requestStartTime) { this.metric = metric; - this.context = metric.createContext(requestDimensions); - this.requestDimensions = requestDimensions; + this.context = context; this.requestStartTime = requestStartTime; } - public void setBindingMatch(BindingMatch<?> bindingMatch) { - if (bindingMatch == null) return; - UriPattern pattern = bindingMatch.matched(); - if (pattern == null) return; - Map<String, Object> combinedDimensions = new HashMap<>(requestDimensions); - combinedDimensions.put(Metrics.HANDLER_DIMENSION, pattern.toString()); - this.context = metric.createContext(combinedDimensions); - } - @SuppressWarnings("deprecation") public void successfulWrite(int numBytes) { setTimeToFirstByteFirstTime(); |