func SetTopLevelFieldsCommon()

in receiver/elasticapmreceiver/internal/mappers/intakeV2ToOtlpTopLevelFields.go [37:65]


func SetTopLevelFieldsCommon(event *modelpb.APMEvent, t TopLevelFieldSetter, logger *zap.Logger) {

	if event.Trace != nil && event.Trace.Id != "" {
		traceId, err := TraceIDFromHex(event.Trace.Id)
		if err == nil {
			t.SetTraceID(traceId)
		} else {
			logger.Error("failed to parse trace ID", zap.String("trace_id", event.Trace.Id))
		}
	}

	if event.Span != nil && event.Span.Id != "" {
		spanId, err := SpanIdFromHex(event.Span.Id)
		if err == nil {
			t.SetSpanID(spanId)
		} else {
			logger.Error("failed to parse span ID", zap.String("span_id", event.Span.Id))
		}
	}

	if event.Transaction != nil && event.Transaction.Id != "" {
		transactionId, err := SpanIdFromHex(event.Transaction.Id)
		if err != nil {
			t.SetSpanID(transactionId)
		} else {
			logger.Error("failed to parse transaction ID", zap.String("transaction_id", (event.Transaction.Id)))
		}
	}
}