public static void addResponseInformation(Subsegment subsegment, HttpResponse response) { if (null == subsegment) { return; } Map<String, Object> responseInformation = new HashMap<>(); int responseCode = response.getStatusLine().getStatusCode(); switch (responseCode/100) { case 4: subsegment.setError(true); if (429 == responseCode) { subsegment.setThrottle(true); } break; case 5: subsegment.setFault(true); break; } responseInformation.put("status", responseCode); if (null != response.getEntity()) { responseInformation.put("content_length", response.getEntity().getContentLength()); } subsegment.putHttp("response", responseInformation); }
public static void addResponseInformation(Subsegment subsegment, HttpResponse response) { if (null == subsegment) { return; } Map<String, Object> responseInformation = new HashMap<>(); int responseCode = response.getStatusLine().getStatusCode(); switch (responseCode/100) { case 4: subsegment.setError(true); if (429 == responseCode) { subsegment.setThrottle(true); } break; case 5: subsegment.setFault(true); break; } responseInformation.put("status", responseCode); if (null != response.getEntity()) { responseInformation.put("content_length", response.getEntity().getContentLength()); } subsegment.putHttp("response", responseInformation); }
private void populateSubsegmentException(Subsegment subsegment, Context.FailedExecution context) { Throwable exception = context.exception(); subsegment.addException(exception); int statusCode = -1; if (exception instanceof SdkServiceException) { statusCode = ((SdkServiceException) exception).statusCode(); subsegment.getCause().setMessage(exception.getMessage()); if (((SdkServiceException) exception).isThrottlingException()) { subsegment.setThrottle(true); // throttling errors are considered client-side errors subsegment.setError(true); } setRemoteForException(subsegment, exception); } else if (context.httpResponse().isPresent()) { statusCode = context.httpResponse().get().statusCode(); } if (statusCode == -1) { return; } if (statusCode >= 400 && statusCode < 500) { subsegment.setFault(false); subsegment.setError(true); if (statusCode == 429) { subsegment.setThrottle(true); } } else if (statusCode >= 500) { subsegment.setFault(true); } }
private void populateSubsegmentException(Subsegment subsegment, Context.FailedExecution context) { Throwable exception = context.exception(); subsegment.addException(exception); int statusCode = -1; if (exception instanceof SdkServiceException) { statusCode = ((SdkServiceException) exception).statusCode(); subsegment.getCause().setMessage(exception.getMessage()); if (((SdkServiceException) exception).isThrottlingException()) { subsegment.setThrottle(true); // throttling errors are considered client-side errors subsegment.setError(true); } setRemoteForException(subsegment, exception); } else if (context.httpResponse().isPresent()) { statusCode = context.httpResponse().get().statusCode(); } if (statusCode == -1) { return; } if (statusCode >= 400 && statusCode < 500) { subsegment.setFault(false); subsegment.setError(true); if (statusCode == 429) { subsegment.setThrottle(true); } } else if (statusCode >= 500) { subsegment.setFault(true); } }
currentSubsegment.setThrottle(true); currentSubsegment.setError(true); if (429 == statusCode) { currentSubsegment.setThrottle(true);