(tr *Trace, dcm dedicatedColumnMapping)
| 1523 | } |
| 1524 | |
| 1525 | func flattenForSelectAll(tr *Trace, dcm dedicatedColumnMapping) *traceql.Spanset { |
| 1526 | var traceAttrs []attrVal |
| 1527 | newSS := &traceql.Spanset{ |
| 1528 | RootServiceName: tr.RootServiceName, |
| 1529 | RootSpanName: tr.RootSpanName, |
| 1530 | TraceID: tr.TraceID, |
| 1531 | DurationNanos: tr.DurationNano, |
| 1532 | } |
| 1533 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceIDAttribute, traceql.NewStaticString(tr.TraceIDText)}) |
| 1534 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceDurationAttribute, traceql.NewStaticDuration(time.Duration(tr.DurationNano))}) |
| 1535 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceRootServiceAttribute, traceql.NewStaticString(tr.RootServiceName)}) |
| 1536 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceRootSpanAttribute, traceql.NewStaticString(tr.RootSpanName)}) |
| 1537 | sortAttrs(traceAttrs) |
| 1538 | |
| 1539 | for _, rs := range tr.ResourceSpans { |
| 1540 | var rsAttrs []attrVal |
| 1541 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelServiceName), traceql.NewStaticString(rs.Resource.ServiceName)}) |
| 1542 | |
| 1543 | for _, a := range parquetToProtoAttrs(rs.Resource.Attrs) { |
| 1544 | if arr := a.Value.GetArrayValue(); arr != nil { |
| 1545 | for _, v := range arr.Values { |
| 1546 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, a.Key), traceql.StaticFromAnyValue(v)}) |
| 1547 | } |
| 1548 | continue |
| 1549 | } |
| 1550 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, a.Key), traceql.StaticFromAnyValue(a.Value)}) |
| 1551 | } |
| 1552 | |
| 1553 | for attr, col := range dcm.items() { |
| 1554 | if strings.Contains(col.ColumnPath, "Resource") { |
| 1555 | v := col.readValue(&rs.Resource.DedicatedAttributes) |
| 1556 | if v == nil { |
| 1557 | a := traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, attr) |
| 1558 | s := traceql.NewStaticString("nil") |
| 1559 | rsAttrs = append(rsAttrs, attrVal{a, s}) |
| 1560 | continue |
| 1561 | } |
| 1562 | a := traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, attr) |
| 1563 | s := traceql.StaticFromAnyValue(v) |
| 1564 | rsAttrs = append(rsAttrs, attrVal{a, s}) |
| 1565 | } |
| 1566 | } |
| 1567 | |
| 1568 | sortAttrs(rsAttrs) |
| 1569 | |
| 1570 | for _, ss := range rs.ScopeSpans { |
| 1571 | var instrumentationAttrs []attrVal |
| 1572 | instrumentationAttrs = append(instrumentationAttrs, attrVal{traceql.IntrinsicInstrumentationNameAttribute, traceql.NewStaticString(ss.Scope.Name)}) |
| 1573 | instrumentationAttrs = append(instrumentationAttrs, attrVal{traceql.IntrinsicInstrumentationVersionAttribute, traceql.NewStaticString(ss.Scope.Version)}) |
| 1574 | for _, a := range parquetToProtoAttrs(ss.Scope.Attrs) { |
| 1575 | if arr := a.Value.GetArrayValue(); arr != nil { |
| 1576 | for _, v := range arr.Values { |
| 1577 | instrumentationAttrs = append(instrumentationAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeInstrumentation, false, a.Key), traceql.StaticFromAnyValue(v)}) |
| 1578 | } |
| 1579 | continue |
| 1580 | } |
| 1581 | instrumentationAttrs = append(instrumentationAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeInstrumentation, false, a.Key), traceql.StaticFromAnyValue(a.Value)}) |
| 1582 | } |
no test coverage detected