protected TraceHeader buildTraceHeader()

in aws-xray-agent/src/main/java/com/amazonaws/xray/agent/runtime/handlers/XRayHandler.java [172:192]


    protected TraceHeader buildTraceHeader(Entity entity) {
        boolean isSampled;
        TraceID traceID;

        // Generate the trace header based on the segment itself.
        if (entity instanceof Segment) {
            Segment segment = (Segment) entity;
            isSampled = segment.isSampled();
            traceID = segment.getTraceId();
        } else {
            // Generate the trace header based on the parent of the subsegment.
            Subsegment subsegment = (Subsegment) entity;
            isSampled = subsegment.getParentSegment().isSampled();
            traceID = subsegment.getParentSegment().getTraceId();
        }
        TraceHeader traceHeader = new TraceHeader(traceID,
                isSampled ? entity.getId() : null,
                isSampled ? TraceHeader.SampleDecision.SAMPLED : TraceHeader.SampleDecision.NOT_SAMPLED);

        return traceHeader;
    }