Emit query/time for failed and timeout queries

emit query/time metric also

add success flag

fix success flag for router metrics

review comments

formatting.
This commit is contained in:
Nishant 2015-12-24 12:07:00 +05:30
parent 3048b1f0a5
commit 1bfb4e3988
2 changed files with 25 additions and 2 deletions

View File

@ -322,6 +322,7 @@ public class AsyncQueryForwardingServlet extends AsyncProxyServlet
requestTime,
"success",
result.isSucceeded()
&& result.getResponse().getStatus() == javax.ws.rs.core.Response.Status.OK.getStatusCode()
)
)
)

View File

@ -194,6 +194,7 @@ public class QueryResource
final long queryTime = System.currentTimeMillis() - start;
emitter.emit(
DruidMetrics.makeQueryTimeMetric(jsonMapper, theQuery, req.getRemoteAddr())
.setDimension("success", "true")
.build("query/time", queryTime)
);
emitter.emit(
@ -236,6 +237,12 @@ public class QueryResource
catch (QueryInterruptedException e) {
try {
log.info("%s [%s]", e.getMessage(), queryId);
final long queryTime = System.currentTimeMillis() - start;
emitter.emit(
DruidMetrics.makeQueryTimeMetric(jsonMapper, query, req.getRemoteAddr())
.setDimension("success", "false")
.build("query/time", queryTime)
);
requestLogger.log(
new RequestLogLine(
new DateTime(),
@ -243,6 +250,8 @@ public class QueryResource
query,
new QueryStats(
ImmutableMap.<String, Object>of(
"query/time",
queryTime,
"success",
false,
"interrupted",
@ -275,12 +284,25 @@ public class QueryResource
log.warn(e, "Exception occurred on request [%s]", queryString);
try {
final long queryTime = System.currentTimeMillis() - start;
emitter.emit(
DruidMetrics.makeQueryTimeMetric(jsonMapper, query, req.getRemoteAddr())
.setDimension("success", "false")
.build("query/time", queryTime)
);
requestLogger.log(
new RequestLogLine(
new DateTime(),
req.getRemoteAddr(),
query,
new QueryStats(ImmutableMap.<String, Object>of("success", false, "exception", e.toString()))
new QueryStats(ImmutableMap.<String, Object>of(
"query/time",
queryTime,
"success",
false,
"exception",
e.toString()
))
)
);
}