(parquetEvents []Event, spanStartTimeNano uint64, dedicatedAttributes dedicatedColumnMapping)
| 739 | } |
| 740 | |
| 741 | func parquetToProtoEvents(parquetEvents []Event, spanStartTimeNano uint64, dedicatedAttributes dedicatedColumnMapping) []*v1_trace.Span_Event { |
| 742 | var protoEvents []*v1_trace.Span_Event |
| 743 | |
| 744 | if len(parquetEvents) > 0 { |
| 745 | protoEvents = make([]*v1_trace.Span_Event, 0, len(parquetEvents)) |
| 746 | |
| 747 | for _, e := range parquetEvents { |
| 748 | |
| 749 | protoEvent := &v1_trace.Span_Event{ |
| 750 | TimeUnixNano: e.TimeSinceStartNano + spanStartTimeNano, |
| 751 | Name: e.Name, |
| 752 | Attributes: nil, |
| 753 | DroppedAttributesCount: uint32(e.DroppedAttributesCount), |
| 754 | } |
| 755 | |
| 756 | if len(e.Attrs) > 0 { |
| 757 | protoEvent.Attributes = parquetToProtoAttrs(e.Attrs) |
| 758 | } |
| 759 | |
| 760 | for attr, col := range dedicatedAttributes.items() { |
| 761 | val := col.readValue(&e.DedicatedAttributes) |
| 762 | if val != nil { |
| 763 | protoEvent.Attributes = append(protoEvent.Attributes, &v1.KeyValue{ |
| 764 | Key: attr, |
| 765 | Value: val, |
| 766 | }) |
| 767 | } |
| 768 | } |
| 769 | |
| 770 | protoEvents = append(protoEvents, protoEvent) |
| 771 | } |
| 772 | } |
| 773 | |
| 774 | return protoEvents |
| 775 | } |
| 776 | |
| 777 | func ParquetTraceToTempopbTrace(meta *backend.BlockMeta, parquetTrace *Trace) *tempopb.Trace { |
| 778 | protoTrace := &tempopb.Trace{} |
no test coverage detected