public void onSetEntity()

in aws-xray-recorder-sdk-slf4j/src/main/java/com/amazonaws/xray/slf4j/SLF4JSegmentListener.java [75:89]


    public void onSetEntity(Entity oldEntity, Entity newEntity) {
        if (newEntity == null) {
            MDC.remove(TRACE_ID_KEY);
            return;
        }

        Segment segment =  newEntity instanceof Segment ? ((Segment) newEntity) : newEntity.getParentSegment();

        if (segment != null && segment.getTraceId() != null && segment.isSampled() && newEntity.getId() != null) {
            String fullPrefix = StringValidator.isNullOrBlank(this.prefix) ? "" : this.prefix + ": ";
            MDC.put(TRACE_ID_KEY, fullPrefix + segment.getTraceId() + "@" + newEntity.getId());
        } else {
            MDC.remove(TRACE_ID_KEY);  // Ensure traces don't spill over to unlinked messages
        }
    }