提交 41db4b10 编写于 作者: F fjy

actually use the metrics emitting listener

上级 2ad1bd3f
......@@ -107,10 +107,11 @@ public class AsyncQueryForwardingServlet extends AsyncProxyServlet
String host = hostFinder.getDefaultHost();
Query inputQuery = null;
boolean hasContent = request.getContentLength() > 0 || request.getContentType() != null;
boolean isQuery = request.getMethod().equalsIgnoreCase(HttpMethod.POST.asString());
long startTime = System.currentTimeMillis();
// queries only exist for POST
if (request.getMethod().equalsIgnoreCase(HttpMethod.POST.asString())) {
if (isQuery) {
try {
inputQuery = objectMapper.readValue(request.getInputStream(), Query.class);
if (inputQuery != null) {
......@@ -235,7 +236,11 @@ public class AsyncQueryForwardingServlet extends AsyncProxyServlet
);
}
proxyRequest.send(newProxyResponseListener(request, response));
if (isQuery) {
proxyRequest.send(newMetricsEmittingProxyResponseListener(request, response, inputQuery, startTime));
} else {
proxyRequest.send(newProxyResponseListener(request, response));
}
}
@Override
......@@ -257,6 +262,17 @@ public class AsyncQueryForwardingServlet extends AsyncProxyServlet
return URI.create(uri.toString());
}
private Response.Listener newMetricsEmittingProxyResponseListener(
HttpServletRequest request,
HttpServletResponse response,
Query query,
long start
)
{
return new MetricsEmittingProxyResponseListener(request, response, query, start);
}
private class MetricsEmittingProxyResponseListener extends ProxyResponseListener
{
private final HttpServletRequest req;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册