@@ -171,7 +171,7 @@ func mapToErrorModel(from *errorEvent, event *modelpb.APMEvent) {
171171 }
172172 }
173173 if len (from .Context .Custom ) > 0 {
174- out .Custom = modeldecoderutil .ToKv (from .Context .Custom , out . Custom )
174+ out .Custom = modeldecoderutil .ToKv (from .Context .Custom )
175175 }
176176 }
177177 if from .Culprit .IsSet () {
@@ -202,11 +202,7 @@ func mapToErrorModel(from *errorEvent, event *modelpb.APMEvent) {
202202 log .ParamMessage = from .Log .ParamMessage .Val
203203 }
204204 if len (from .Log .Stacktrace ) > 0 {
205- log .Stacktrace = modeldecoderutil .ResliceAndPopulateNil (
206- log .Stacktrace ,
207- len (from .Log .Stacktrace ),
208- modeldecoderutil .NewType [modelpb .StacktraceFrame ],
209- )
205+ log .Stacktrace = make ([]* modelpb.StacktraceFrame , len (from .Log .Stacktrace ))
210206 mapToStacktraceModel (from .Log .Stacktrace , log .Stacktrace )
211207 }
212208 out .Log = & log
@@ -240,19 +236,17 @@ func mapToErrorModel(from *errorEvent, event *modelpb.APMEvent) {
240236
241237func mapToExceptionModel (from * errorException , out * modelpb.Exception ) {
242238 if len (from .Attributes ) > 0 {
243- out .Attributes = modeldecoderutil .ToKv (from .Attributes , out . Attributes )
239+ out .Attributes = modeldecoderutil .ToKv (from .Attributes )
244240 }
245241 if from .Code .IsSet () {
246242 out .Code = modeldecoderutil .ExceptionCodeString (from .Code .Val )
247243 }
248244 if len (from .Cause ) > 0 {
249- out .Cause = modeldecoderutil .ResliceAndPopulateNil (
250- out .Cause ,
251- len (from .Cause ),
252- modeldecoderutil .NewType [modelpb .Exception ],
253- )
245+ out .Cause = make ([]* modelpb.Exception , len (from .Cause ))
254246 for i := 0 ; i < len (from .Cause ); i ++ {
255- mapToExceptionModel (& from .Cause [i ], out .Cause [i ])
247+ e := & modelpb.Exception {}
248+ mapToExceptionModel (& from .Cause [i ], e )
249+ out .Cause [i ] = e
256250 }
257251 }
258252 if from .Handled .IsSet () {
@@ -266,11 +260,7 @@ func mapToExceptionModel(from *errorException, out *modelpb.Exception) {
266260 out .Module = from .Module .Val
267261 }
268262 if len (from .Stacktrace ) > 0 {
269- out .Stacktrace = modeldecoderutil .ResliceAndPopulateNil (
270- out .Stacktrace ,
271- len (from .Stacktrace ),
272- modeldecoderutil .NewType [modelpb .StacktraceFrame ],
273- )
263+ out .Stacktrace = make ([]* modelpb.StacktraceFrame , len (from .Stacktrace ))
274264 mapToStacktraceModel (from .Stacktrace , out .Stacktrace )
275265 }
276266 if from .Type .IsSet () {
@@ -412,7 +402,7 @@ func mapToTransactionMetricsetModel(from *transactionMetricset, event *modelpb.A
412402
413403func mapToResponseModel (from contextResponse , out * modelpb.HTTPResponse ) {
414404 if from .Headers .IsSet () {
415- out .Headers = modeldecoderutil .HTTPHeadersToModelpb (from .Headers .Val , out . Headers )
405+ out .Headers = modeldecoderutil .HTTPHeadersToModelpb (from .Headers .Val )
416406 }
417407 if from .StatusCode .IsSet () {
418408 out .StatusCode = uint32 (from .StatusCode .Val )
@@ -436,10 +426,10 @@ func mapToRequestModel(from contextRequest, out *modelpb.HTTPRequest) {
436426 out .Method = from .Method .Val
437427 }
438428 if len (from .Env ) > 0 {
439- out .Env = modeldecoderutil .ToKv (from .Env , out . Env )
429+ out .Env = modeldecoderutil .ToKv (from .Env )
440430 }
441431 if from .Headers .IsSet () {
442- out .Headers = modeldecoderutil .HTTPHeadersToModelpb (from .Headers .Val , out . Headers )
432+ out .Headers = modeldecoderutil .HTTPHeadersToModelpb (from .Headers .Val )
443433 }
444434}
445435
@@ -639,11 +629,7 @@ func mapToSpanModel(from *span, event *modelpb.APMEvent) {
639629 out .RepresentativeCount = 1 / from .SampleRate .Val
640630 }
641631 if len (from .Stacktrace ) > 0 {
642- out .Stacktrace = modeldecoderutil .ResliceAndPopulateNil (
643- out .Stacktrace ,
644- len (from .Stacktrace ),
645- modeldecoderutil .NewType [modelpb .StacktraceFrame ],
646- )
632+ out .Stacktrace = make ([]* modelpb.StacktraceFrame , len (from .Stacktrace ))
647633 mapToStacktraceModel (from .Stacktrace , out .Stacktrace )
648634 }
649635 if from .Sync .IsSet () {
@@ -659,7 +645,7 @@ func mapToSpanModel(from *span, event *modelpb.APMEvent) {
659645
660646func mapToStacktraceModel (from []stacktraceFrame , out []* modelpb.StacktraceFrame ) {
661647 for idx , eventFrame := range from {
662- fr := out [ idx ]
648+ fr := & modelpb. StacktraceFrame {}
663649 if eventFrame .AbsPath .IsSet () {
664650 fr .AbsPath = eventFrame .AbsPath .Val
665651 }
@@ -687,13 +673,14 @@ func mapToStacktraceModel(from []stacktraceFrame, out []*modelpb.StacktraceFrame
687673 fr .Module = eventFrame .Module .Val
688674 }
689675 if len (eventFrame .PostContext ) > 0 {
690- fr .PostContext = modeldecoderutil . Reslice ( fr . PostContext , len (eventFrame .PostContext ))
676+ fr .PostContext = make ([] string , len (eventFrame .PostContext ))
691677 copy (fr .PostContext , eventFrame .PostContext )
692678 }
693679 if len (eventFrame .PreContext ) > 0 {
694- fr .PreContext = modeldecoderutil . Reslice ( fr . PreContext , len (eventFrame .PreContext ))
680+ fr .PreContext = make ([] string , len (eventFrame .PreContext ))
695681 copy (fr .PreContext , eventFrame .PreContext )
696682 }
683+ out [idx ] = fr
697684 }
698685}
699686
@@ -726,7 +713,7 @@ func mapToTransactionModel(from *transaction, event *modelpb.APMEvent) {
726713 // map transaction specific data
727714 if from .Context .IsSet () {
728715 if len (from .Context .Custom ) > 0 {
729- out .Custom = modeldecoderutil .ToKv (from .Context .Custom , out . Custom )
716+ out .Custom = modeldecoderutil .ToKv (from .Context .Custom )
730717 }
731718 if len (from .Context .Tags ) > 0 {
732719 modeldecoderutil .MergeLabels (from .Context .Tags , event )
0 commit comments