summaryrefslogtreecommitdiffstats
path: root/metrics-proxy
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-07-10 12:04:43 +0200
committergjoranv <gv@verizonmedia.com>2019-07-10 12:04:43 +0200
commit2d90ea135d3087bc5dafa11e3fc1a5ab6b3a366e (patch)
tree6cdb03926770e88585eb735d1bd319b5a6a363e3 /metrics-proxy
parentc0cba948d458122e8d3af1c00e0eb5f6e923504a (diff)
Fix PR comments regarding exception handling and logging.
Diffstat (limited to 'metrics-proxy')
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java4
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java7
2 files changed, 7 insertions, 4 deletions
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java
index 679bae84f8e..daa69191506 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ErrorResponse.java
@@ -18,13 +18,15 @@ import static java.util.logging.Level.WARNING;
class ErrorResponse extends JsonResponse {
private static Logger log = Logger.getLogger(ErrorResponse.class.getName());
+ private static ObjectMapper objectMapper = new ObjectMapper();
+
ErrorResponse(int code, String message) {
super(code, asErrorJson(message));
}
static String asErrorJson(String message) {
try {
- return new ObjectMapper().writeValueAsString(Map.of("error", message));
+ return objectMapper.writeValueAsString(Map.of("error", message));
} catch (JsonProcessingException e) {
log.log(WARNING, "Could not encode error message to json:", e);
return "Could not encode error message to json, check the log for details.";
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java
index 1d7206f177d..8fcab6dfcab 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/MetricsHandler.java
@@ -19,12 +19,14 @@ import org.json.JSONObject;
import java.net.URI;
import java.util.concurrent.Executor;
+import java.util.logging.Level;
import static com.yahoo.jdisc.Response.Status.INTERNAL_SERVER_ERROR;
import static com.yahoo.jdisc.Response.Status.METHOD_NOT_ALLOWED;
import static com.yahoo.jdisc.Response.Status.NOT_FOUND;
import static com.yahoo.jdisc.Response.Status.OK;
import static com.yahoo.jdisc.http.HttpRequest.Method.GET;
+import static java.util.logging.Level.WARNING;
/**
* Http handler for the metrics/v1 rest api.
@@ -63,9 +65,8 @@ public class MetricsHandler extends ThreadedHttpRequestHandler {
try {
return new JsonResponse(OK, v1Content(requestUri));
} catch (JSONException e) {
- log.warning("Bad JSON construction in " + V1_PATH + " response: " + e.getMessage());
- return new ErrorResponse(INTERNAL_SERVER_ERROR,
- "An error occurred, please try path '" + VALUES_PATH + "'");
+ log.log(WARNING, "Bad JSON construction in " + V1_PATH + " response", e);
+ return new ErrorResponse(INTERNAL_SERVER_ERROR, "An error occurred, please try path '" + VALUES_PATH + "'");
}
}