Skip to content

Commit 7797e53

Browse files
authored
feat: remove reslice logic (#497)
* feat: remove reslice logic the logic is unused since pooling was removed * lint: fix litner issues
1 parent 096ce7e commit 7797e53

File tree

6 files changed

+63
-215
lines changed

6 files changed

+63
-215
lines changed

input/elasticapm/internal/modeldecoder/modeldecoderutil/http.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,17 @@ func HTTPHeadersToStructPb(h http.Header) *structpb.Struct {
4545
return nil
4646
}
4747

48-
func HTTPHeadersToModelpb(h http.Header, out []*modelpb.HTTPHeader) []*modelpb.HTTPHeader {
48+
func HTTPHeadersToModelpb(h http.Header) []*modelpb.HTTPHeader {
4949
if len(h) == 0 {
5050
return nil
5151
}
52-
out = ResliceAndPopulateNil(out, len(h), NewType[modelpb.HTTPHeader])
52+
out := make([]*modelpb.HTTPHeader, len(h))
5353
i := 0
5454
for k, v := range h {
55-
out[i].Key = k
56-
out[i].Value = v
55+
out[i] = &modelpb.HTTPHeader{
56+
Key: k,
57+
Value: v,
58+
}
5759
i++
5860
}
5961
return out

input/elasticapm/internal/modeldecoder/modeldecoderutil/keyvaluepb.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,21 @@ import (
2222
"google.golang.org/protobuf/types/known/structpb"
2323
)
2424

25-
func ToKv(m map[string]any, out []*modelpb.KeyValue) []*modelpb.KeyValue {
25+
func ToKv(m map[string]any) []*modelpb.KeyValue {
2626
m = normalizeMap(m)
2727
if len(m) == 0 {
2828
return nil
2929
}
3030

31-
out = ResliceAndPopulateNil(out, len(m), NewType[modelpb.KeyValue])
31+
out := make([]*modelpb.KeyValue, len(m))
3232

3333
i := 0
3434
for k, v := range m {
3535
value, _ := structpb.NewValue(v)
36-
out[i].Key = k
37-
out[i].Value = value
36+
out[i] = &modelpb.KeyValue{
37+
Key: k,
38+
Value: value,
39+
}
3840
i++
3941
}
4042

input/elasticapm/internal/modeldecoder/modeldecoderutil/slice.go

Lines changed: 0 additions & 49 deletions
This file was deleted.

input/elasticapm/internal/modeldecoder/modeldecoderutil/slice_test.go

Lines changed: 0 additions & 72 deletions
This file was deleted.

input/elasticapm/internal/modeldecoder/rumv3/decoder.go

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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

241237
func 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

413403
func 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

660646
func 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

Comments
 (0)