in aws-xray-recorder-sdk-aws-sdk/src/main/java/com/amazonaws/xray/handlers/TracingHandler.java [481:502]
private void populateAndEndSubsegment(
Subsegment currentSubsegment, Request<?> request, Response<?> response, AmazonServiceException ase) {
if (null != response) {
populateAndEndSubsegment(currentSubsegment, request, response);
return;
} else if (null != ase) {
if (null != ase.getRequestId()) {
currentSubsegment.putAws(REQUEST_ID_SUBSEGMENT_KEY, ase.getRequestId());
}
if (null != ase.getHttpHeaders() &&
null != ase.getHttpHeaders().get(EntityHeaderKeys.AWS.EXTENDED_REQUEST_ID_HEADER)) {
currentSubsegment.putAws(EntityDataKeys.AWS.EXTENDED_REQUEST_ID_KEY,
ase.getHttpHeaders().get(EntityHeaderKeys.AWS.EXTENDED_REQUEST_ID_HEADER));
}
if (null != ase.getErrorMessage()) {
currentSubsegment.getCause().setMessage(ase.getErrorMessage());
}
currentSubsegment.putAllHttp(extractHttpResponseInformation(ase));
}
finalizeSubsegment(request);
}