(tr *Trace, dcm dedicatedColumnMapping)
| 1332 | } |
| 1333 | |
| 1334 | func flattenForSelectAll(tr *Trace, dcm dedicatedColumnMapping) *traceql.Spanset { |
| 1335 | var traceAttrs []attrVal |
| 1336 | newSS := &traceql.Spanset{ |
| 1337 | RootServiceName: tr.RootServiceName, |
| 1338 | RootSpanName: tr.RootSpanName, |
| 1339 | TraceID: tr.TraceID, |
| 1340 | DurationNanos: tr.DurationNano, |
| 1341 | } |
| 1342 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceIDAttribute, traceql.NewStaticString(tr.TraceIDText)}) |
| 1343 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceDurationAttribute, traceql.NewStaticDuration(time.Duration(tr.DurationNano))}) |
| 1344 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceRootServiceAttribute, traceql.NewStaticString(tr.RootServiceName)}) |
| 1345 | traceAttrs = append(traceAttrs, attrVal{traceql.IntrinsicTraceRootSpanAttribute, traceql.NewStaticString(tr.RootSpanName)}) |
| 1346 | sortAttrs(traceAttrs) |
| 1347 | |
| 1348 | for _, rs := range tr.ResourceSpans { |
| 1349 | var rsAttrs []attrVal |
| 1350 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelServiceName), traceql.NewStaticString(rs.Resource.ServiceName)}) |
| 1351 | if rs.Resource.Cluster != nil { |
| 1352 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelCluster), traceql.NewStaticString(*rs.Resource.Cluster)}) |
| 1353 | } else { |
| 1354 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelCluster), traceql.NewStaticString("nil")}) |
| 1355 | } |
| 1356 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelNamespace), traceql.NewStaticString(*rs.Resource.Namespace)}) |
| 1357 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelPod), traceql.NewStaticString(*rs.Resource.Pod)}) |
| 1358 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelContainer), traceql.NewStaticString(*rs.Resource.Container)}) |
| 1359 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelK8sClusterName), traceql.NewStaticString(*rs.Resource.K8sClusterName)}) |
| 1360 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelK8sNamespaceName), traceql.NewStaticString(*rs.Resource.K8sNamespaceName)}) |
| 1361 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelK8sPodName), traceql.NewStaticString(*rs.Resource.K8sPodName)}) |
| 1362 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, LabelK8sContainerName), traceql.NewStaticString(*rs.Resource.K8sContainerName)}) |
| 1363 | |
| 1364 | for _, a := range parquetToProtoAttrs(rs.Resource.Attrs) { |
| 1365 | if arr := a.Value.GetArrayValue(); arr != nil { |
| 1366 | for _, v := range arr.Values { |
| 1367 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, a.Key), traceql.StaticFromAnyValue(v)}) |
| 1368 | } |
| 1369 | continue |
| 1370 | } |
| 1371 | rsAttrs = append(rsAttrs, attrVal{traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, a.Key), traceql.StaticFromAnyValue(a.Value)}) |
| 1372 | } |
| 1373 | |
| 1374 | dcm.forEach(func(attr string, column dedicatedColumn) { |
| 1375 | if strings.Contains(column.ColumnPath, "Resource") { |
| 1376 | v := column.readValue(&rs.Resource.DedicatedAttributes) |
| 1377 | if v == nil { |
| 1378 | return |
| 1379 | } |
| 1380 | a := traceql.NewScopedAttribute(traceql.AttributeScopeResource, false, attr) |
| 1381 | s := traceql.StaticFromAnyValue(v) |
| 1382 | rsAttrs = append(rsAttrs, attrVal{a, s}) |
| 1383 | } |
| 1384 | }) |
| 1385 | |
| 1386 | sortAttrs(rsAttrs) |
| 1387 | |
| 1388 | for _, ss := range rs.ScopeSpans { |
| 1389 | var instrumentationAttrs []attrVal |
| 1390 | instrumentationAttrs = append(instrumentationAttrs, attrVal{traceql.IntrinsicInstrumentationNameAttribute, traceql.NewStaticString(ss.Scope.Name)}) |
| 1391 | instrumentationAttrs = append(instrumentationAttrs, attrVal{traceql.IntrinsicInstrumentationVersionAttribute, traceql.NewStaticString(ss.Scope.Version)}) |
no test coverage detected