ozhera-log/log-agent/src/main/java/org/apache/ozhera/log/agent/common/trace/TraceUtil.java [112:139]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private static TSpanData toTSpanData(String[] array) {
        TSpanData span = new TSpanData();
        span.setTraceId(array[MessageUtil.TRACE_ID]);
        span.setSpanId(array[MessageUtil.SPAN_ID]);
        span.setName(array[MessageUtil.SPAN_NAME]);
        span.setStatus(toTStatus(array[MessageUtil.STATUS_CODE]));
        span.setStartEpochNanos(Long.parseLong(array[MessageUtil.START_TIME]));
        span.setEndEpochNanos(span.getStartEpochNanos() + Long.parseLong(array[MessageUtil.DURATION]));
        Map<String, TValue> specialAttrMap = new HashMap<>();
        span.setAttributes(toTAttributes(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.TAGS])),
                specialAttrMap));
        span.setTotalAttributeCount(span.getAttributes().getKeysSize());
        // using tags["span.kind"] as span kind
        String spanKind = specialAttrMap.get(TAG_KEY_SPAN_KIND) == null ? SPAN_KIND_INTERNAL : specialAttrMap.get(TAG_KEY_SPAN_KIND).getStringValue();
        span.setKind(toTKind(spanKind));
        span.setEvents(toTEventList(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.EVENTS]))));
        span.setTotalRecordedEvents(span.getEventsSize());
        span.setResouce(
                toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap));
        span.setExtra(toTExtra(specialAttrMap));
        // using links["ref_type=CHILD_OF"] as parent span context and using left as links
        AtomicReference<TSpanContext> parentSpanContextRef = new AtomicReference<>();
        span.setLinks(
                toTLinkList(JSONArray.parseArray(array[MessageUtil.REFERERNCES]), parentSpanContextRef));
        span.setParentSpanContext(parentSpanContextRef.get());
        span.setTotalRecordedLinks(span.getLinksSize());
        return span;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



trace-etl/trace-etl-service/src/main/java/org/apache/ozhera/trace/etl/util/TraceUtil.java [96:123]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    private static TSpanData toTSpanData(String[] array) {
        TSpanData span = new TSpanData();
        span.setTraceId(array[MessageUtil.TRACE_ID]);
        span.setSpanId(array[MessageUtil.SPAN_ID]);
        span.setName(array[MessageUtil.SPAN_NAME]);
        span.setStatus(toTStatus(array[MessageUtil.STATUS_CODE]));
        span.setStartEpochNanos(Long.parseLong(array[MessageUtil.START_TIME]));
        span.setEndEpochNanos(span.getStartEpochNanos() + Long.parseLong(array[MessageUtil.DURATION]));
        Map<String, TValue> specialAttrMap = new HashMap<>();
        span.setAttributes(toTAttributes(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.TAGS])),
                specialAttrMap));
        span.setTotalAttributeCount(span.getAttributes().getKeysSize());
        // using tags["span.kind"] as span kind
        String spanKind = specialAttrMap.get(TAG_KEY_SPAN_KIND) == null ? SPAN_KIND_INTERNAL : specialAttrMap.get(TAG_KEY_SPAN_KIND).getStringValue();
        span.setKind(toTKind(spanKind));
        span.setEvents(toTEventList(JSONArray.parseArray(decodeLineBreak(array[MessageUtil.EVENTS]))));
        span.setTotalRecordedEvents(span.getEventsSize());
        span.setResouce(
                toTResource(JSONObject.parseObject(array[MessageUtil.REOUSCES]), specialAttrMap));
        span.setExtra(toTExtra(specialAttrMap));
        // using links["ref_type=CHILD_OF"] as parent span context and using left as links
        AtomicReference<TSpanContext> parentSpanContextRef = new AtomicReference<>();
        span.setLinks(
                toTLinkList(JSONArray.parseArray(array[MessageUtil.REFERERNCES]), parentSpanContextRef));
        span.setParentSpanContext(parentSpanContextRef.get());
        span.setTotalRecordedLinks(span.getLinksSize());
        return span;
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



