function _M.transform()

in lib/skywalking/span.lua [248:281]


function _M.transform(span)
    local spanBuilder = Util.tablepool_fetch("sw_spanBuilder", 0, 32)
    spanBuilder.spanId = span.span_id
    spanBuilder.parentSpanId = span.parent_span_id
    spanBuilder.startTime = span.start_time
    spanBuilder.endTime = span.end_time
    
    if #span.refs > 0 then
        spanBuilder.refs = Util.tablepool_fetch("sw_spanBuilder_refs", 4, 0)
        for _, ref in ipairs(span.refs) do
            table.insert(spanBuilder.refs, SegmentRef.transform(ref))
        end
    end

    spanBuilder.operationName = span.operation_name
    spanBuilder.peer = span.peer
    if span.is_entry then
        spanBuilder.spanType = 'Entry'
    elseif span.is_exit then
        spanBuilder.spanType = 'Exit'
    else
        spanBuilder.spanType = 'Local'
    end
    if span.layer ~= spanLayer.NONE then
        spanBuilder.spanLayer = span.layer.name
    end
    spanBuilder.componentId = span.component_id
    spanBuilder.isError = span.error_occurred

    spanBuilder.tags = span.tags
    spanBuilder.logs = span.logs

    return spanBuilder
end