MCPcopy
hub / github.com/grafana/tempo / parquetToProtoEvents

Function parquetToProtoEvents

tempodb/encoding/vparquet5/schema.go:741–775  ·  view source on GitHub ↗
(parquetEvents []Event, spanStartTimeNano uint64, dedicatedAttributes dedicatedColumnMapping)

Source from the content-addressed store, hash-verified

739}
740
741func 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
777func ParquetTraceToTempopbTrace(meta *backend.BlockMeta, parquetTrace *Trace) *tempopb.Trace {
778 protoTrace := &tempopb.Trace{}

Callers 1

Calls 3

itemsMethod · 0.80
parquetToProtoAttrsFunction · 0.70
readValueMethod · 0.45

Tested by

no test coverage detected