in aws-xray-agent/src/main/java/com/amazonaws/xray/agent/runtime/models/XRayTransactionContext.java [57:72]
public Subsegment beginSubsegment(AWSXRayRecorder recorder, String name) {
Entity current = getTraceEntity();
if (null == current) {
recorder.getContextMissingStrategy().contextMissing("Failed to begin subsegment named '" + name + "': segment cannot be found.", SegmentNotFoundException.class);
return Subsegment.noOp(recorder);
}
if (log.isDebugEnabled()) {
log.debug("Beginning subsegment named: " + name);
}
Segment parentSegment = getTraceEntity().getParentSegment();
Subsegment subsegment = new SubsegmentImpl(recorder, name, parentSegment);
subsegment.setParent(current);
current.addSubsegment(subsegment);
setTraceEntity(subsegment);
return subsegment;
}