in pkg/display/graph/tree/adapter.go [77:98]
func buildTree(all map[string]*Node, seen map[string]bool, trace api.Trace) {
for len(seen) < len(trace.Spans) {
for _, span := range trace.Spans {
if seen[id(span)] {
continue
}
if all[pid(span)] != nil {
all[pid(span)].Children = append(all[pid(span)].Children, all[id(span)])
seen[id(span)] = true
}
for _, ref := range span.Refs {
refData := all[id0(ref)]
if refData != nil {
refData.Children = append(refData.Children, all[id(span)])
seen[id(span)] = true
}
}
}
}
}