diff --git a/.chloggen/rm-refs.yaml b/.chloggen/rm-refs.yaml new file mode 100644 index 00000000000..0f0f9d77531 --- /dev/null +++ b/.chloggen/rm-refs.yaml @@ -0,0 +1,25 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver) +component: pdata + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Improve RemoveIf for slices to not reference anymore the removed memory + +# One or more tracking issues or pull requests related to the change +issues: [13522] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [user] diff --git a/internal/cmd/pdatagen/internal/templates/slice.go.tmpl b/internal/cmd/pdatagen/internal/templates/slice.go.tmpl index 4c2a244892d..fd807970eb3 100644 --- a/internal/cmd/pdatagen/internal/templates/slice.go.tmpl +++ b/internal/cmd/pdatagen/internal/templates/slice.go.tmpl @@ -133,6 +133,11 @@ func (es {{ .structName }}) RemoveIf(f func({{ .elementName }}) bool) { newLen := 0 for i := 0; i < len(*es.{{ .origAccessor }}); i++ { if f(es.At(i)) { + {{- if eq .type "sliceOfPtrs" }} + (*es.{{ .origAccessor }})[i] = nil + {{- else }} + (*es.{{ .origAccessor }})[i] = {{ .emptyOriginElement }} + {{- end }} continue } if newLen == i { @@ -141,6 +146,11 @@ func (es {{ .structName }}) RemoveIf(f func({{ .elementName }}) bool) { continue } (*es.{{ .origAccessor }})[newLen] = (*es.{{ .origAccessor }})[i] + {{- if eq .type "sliceOfPtrs" }} + (*es.{{ .origAccessor }})[i] = nil + {{- else }} + (*es.{{ .origAccessor }})[i] = {{ .emptyOriginElement }} + {{- end }} newLen++ } *es.{{ .origAccessor }} = (*es.{{ .origAccessor }})[:newLen] diff --git a/internal/cmd/pdatagen/internal/templates/slice_test.go.tmpl b/internal/cmd/pdatagen/internal/templates/slice_test.go.tmpl index 0bb2a175077..d8b0c667890 100644 --- a/internal/cmd/pdatagen/internal/templates/slice_test.go.tmpl +++ b/internal/cmd/pdatagen/internal/templates/slice_test.go.tmpl @@ -143,6 +143,14 @@ func Test{{ .structName }}_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func Test{{ .structName }}_RemoveIfAll(t *testing.T) { + got := generateTest{{ .structName }}() + got.RemoveIf(func(el {{ .elementName }}) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func Test{{ .structName }}All(t *testing.T) { ms := generateTest{{ .structName }}() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/plog/generated_logrecordslice.go b/pdata/plog/generated_logrecordslice.go index 8c09601b303..757f991d800 100644 --- a/pdata/plog/generated_logrecordslice.go +++ b/pdata/plog/generated_logrecordslice.go @@ -130,6 +130,7 @@ func (es LogRecordSlice) RemoveIf(f func(LogRecord) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es LogRecordSlice) RemoveIf(f func(LogRecord) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/plog/generated_logrecordslice_test.go b/pdata/plog/generated_logrecordslice_test.go index 53079a0b0f8..e171b2cea38 100644 --- a/pdata/plog/generated_logrecordslice_test.go +++ b/pdata/plog/generated_logrecordslice_test.go @@ -141,6 +141,14 @@ func TestLogRecordSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestLogRecordSlice_RemoveIfAll(t *testing.T) { + got := generateTestLogRecordSlice() + got.RemoveIf(func(el LogRecord) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestLogRecordSliceAll(t *testing.T) { ms := generateTestLogRecordSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/plog/generated_resourcelogsslice.go b/pdata/plog/generated_resourcelogsslice.go index 311f1a7a3b2..900d8936929 100644 --- a/pdata/plog/generated_resourcelogsslice.go +++ b/pdata/plog/generated_resourcelogsslice.go @@ -130,6 +130,7 @@ func (es ResourceLogsSlice) RemoveIf(f func(ResourceLogs) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ResourceLogsSlice) RemoveIf(f func(ResourceLogs) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/plog/generated_resourcelogsslice_test.go b/pdata/plog/generated_resourcelogsslice_test.go index 89944fbd46f..8ad6a145833 100644 --- a/pdata/plog/generated_resourcelogsslice_test.go +++ b/pdata/plog/generated_resourcelogsslice_test.go @@ -141,6 +141,14 @@ func TestResourceLogsSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestResourceLogsSlice_RemoveIfAll(t *testing.T) { + got := generateTestResourceLogsSlice() + got.RemoveIf(func(el ResourceLogs) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestResourceLogsSliceAll(t *testing.T) { ms := generateTestResourceLogsSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/plog/generated_scopelogsslice.go b/pdata/plog/generated_scopelogsslice.go index b9088f01e8d..274323e1ffb 100644 --- a/pdata/plog/generated_scopelogsslice.go +++ b/pdata/plog/generated_scopelogsslice.go @@ -130,6 +130,7 @@ func (es ScopeLogsSlice) RemoveIf(f func(ScopeLogs) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ScopeLogsSlice) RemoveIf(f func(ScopeLogs) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/plog/generated_scopelogsslice_test.go b/pdata/plog/generated_scopelogsslice_test.go index 4c250e84fc9..3fbc40477a9 100644 --- a/pdata/plog/generated_scopelogsslice_test.go +++ b/pdata/plog/generated_scopelogsslice_test.go @@ -141,6 +141,14 @@ func TestScopeLogsSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestScopeLogsSlice_RemoveIfAll(t *testing.T) { + got := generateTestScopeLogsSlice() + got.RemoveIf(func(el ScopeLogs) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestScopeLogsSliceAll(t *testing.T) { ms := generateTestScopeLogsSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_exemplarslice.go b/pdata/pmetric/generated_exemplarslice.go index ca2aea31f5e..9d421c7a95e 100644 --- a/pdata/pmetric/generated_exemplarslice.go +++ b/pdata/pmetric/generated_exemplarslice.go @@ -129,6 +129,7 @@ func (es ExemplarSlice) RemoveIf(f func(Exemplar) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = otlpmetrics.Exemplar{} continue } if newLen == i { @@ -137,6 +138,7 @@ func (es ExemplarSlice) RemoveIf(f func(Exemplar) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = otlpmetrics.Exemplar{} newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_exemplarslice_test.go b/pdata/pmetric/generated_exemplarslice_test.go index e4259d4069a..278a12b93b2 100644 --- a/pdata/pmetric/generated_exemplarslice_test.go +++ b/pdata/pmetric/generated_exemplarslice_test.go @@ -140,6 +140,14 @@ func TestExemplarSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestExemplarSlice_RemoveIfAll(t *testing.T) { + got := generateTestExemplarSlice() + got.RemoveIf(func(el Exemplar) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestExemplarSliceAll(t *testing.T) { ms := generateTestExemplarSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_exponentialhistogramdatapointslice.go b/pdata/pmetric/generated_exponentialhistogramdatapointslice.go index e6ed8a2c102..84f8341aa2d 100644 --- a/pdata/pmetric/generated_exponentialhistogramdatapointslice.go +++ b/pdata/pmetric/generated_exponentialhistogramdatapointslice.go @@ -130,6 +130,7 @@ func (es ExponentialHistogramDataPointSlice) RemoveIf(f func(ExponentialHistogra newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ExponentialHistogramDataPointSlice) RemoveIf(f func(ExponentialHistogra continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_exponentialhistogramdatapointslice_test.go b/pdata/pmetric/generated_exponentialhistogramdatapointslice_test.go index 7c51461ddd8..b0a530343c4 100644 --- a/pdata/pmetric/generated_exponentialhistogramdatapointslice_test.go +++ b/pdata/pmetric/generated_exponentialhistogramdatapointslice_test.go @@ -141,6 +141,14 @@ func TestExponentialHistogramDataPointSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestExponentialHistogramDataPointSlice_RemoveIfAll(t *testing.T) { + got := generateTestExponentialHistogramDataPointSlice() + got.RemoveIf(func(el ExponentialHistogramDataPoint) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestExponentialHistogramDataPointSliceAll(t *testing.T) { ms := generateTestExponentialHistogramDataPointSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_histogramdatapointslice.go b/pdata/pmetric/generated_histogramdatapointslice.go index 342e19738af..2a5095abddc 100644 --- a/pdata/pmetric/generated_histogramdatapointslice.go +++ b/pdata/pmetric/generated_histogramdatapointslice.go @@ -130,6 +130,7 @@ func (es HistogramDataPointSlice) RemoveIf(f func(HistogramDataPoint) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es HistogramDataPointSlice) RemoveIf(f func(HistogramDataPoint) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_histogramdatapointslice_test.go b/pdata/pmetric/generated_histogramdatapointslice_test.go index 1ee2307a472..3a5c2d37cde 100644 --- a/pdata/pmetric/generated_histogramdatapointslice_test.go +++ b/pdata/pmetric/generated_histogramdatapointslice_test.go @@ -141,6 +141,14 @@ func TestHistogramDataPointSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestHistogramDataPointSlice_RemoveIfAll(t *testing.T) { + got := generateTestHistogramDataPointSlice() + got.RemoveIf(func(el HistogramDataPoint) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestHistogramDataPointSliceAll(t *testing.T) { ms := generateTestHistogramDataPointSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_metricslice.go b/pdata/pmetric/generated_metricslice.go index 694a7fbafcb..66d867aa0ba 100644 --- a/pdata/pmetric/generated_metricslice.go +++ b/pdata/pmetric/generated_metricslice.go @@ -130,6 +130,7 @@ func (es MetricSlice) RemoveIf(f func(Metric) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es MetricSlice) RemoveIf(f func(Metric) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_metricslice_test.go b/pdata/pmetric/generated_metricslice_test.go index 935c97f4cce..894dde93855 100644 --- a/pdata/pmetric/generated_metricslice_test.go +++ b/pdata/pmetric/generated_metricslice_test.go @@ -141,6 +141,14 @@ func TestMetricSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestMetricSlice_RemoveIfAll(t *testing.T) { + got := generateTestMetricSlice() + got.RemoveIf(func(el Metric) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestMetricSliceAll(t *testing.T) { ms := generateTestMetricSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_numberdatapointslice.go b/pdata/pmetric/generated_numberdatapointslice.go index c6286fce611..d59ac458b1f 100644 --- a/pdata/pmetric/generated_numberdatapointslice.go +++ b/pdata/pmetric/generated_numberdatapointslice.go @@ -130,6 +130,7 @@ func (es NumberDataPointSlice) RemoveIf(f func(NumberDataPoint) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es NumberDataPointSlice) RemoveIf(f func(NumberDataPoint) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_numberdatapointslice_test.go b/pdata/pmetric/generated_numberdatapointslice_test.go index a7da42fbbd0..a7935d8958a 100644 --- a/pdata/pmetric/generated_numberdatapointslice_test.go +++ b/pdata/pmetric/generated_numberdatapointslice_test.go @@ -141,6 +141,14 @@ func TestNumberDataPointSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestNumberDataPointSlice_RemoveIfAll(t *testing.T) { + got := generateTestNumberDataPointSlice() + got.RemoveIf(func(el NumberDataPoint) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestNumberDataPointSliceAll(t *testing.T) { ms := generateTestNumberDataPointSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_resourcemetricsslice.go b/pdata/pmetric/generated_resourcemetricsslice.go index 3c2e6aa7ca5..7251dd4be7f 100644 --- a/pdata/pmetric/generated_resourcemetricsslice.go +++ b/pdata/pmetric/generated_resourcemetricsslice.go @@ -130,6 +130,7 @@ func (es ResourceMetricsSlice) RemoveIf(f func(ResourceMetrics) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ResourceMetricsSlice) RemoveIf(f func(ResourceMetrics) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_resourcemetricsslice_test.go b/pdata/pmetric/generated_resourcemetricsslice_test.go index 9a4a53a8882..8d00001269a 100644 --- a/pdata/pmetric/generated_resourcemetricsslice_test.go +++ b/pdata/pmetric/generated_resourcemetricsslice_test.go @@ -141,6 +141,14 @@ func TestResourceMetricsSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestResourceMetricsSlice_RemoveIfAll(t *testing.T) { + got := generateTestResourceMetricsSlice() + got.RemoveIf(func(el ResourceMetrics) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestResourceMetricsSliceAll(t *testing.T) { ms := generateTestResourceMetricsSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_scopemetricsslice.go b/pdata/pmetric/generated_scopemetricsslice.go index 9136c4af41f..4b7af3995a5 100644 --- a/pdata/pmetric/generated_scopemetricsslice.go +++ b/pdata/pmetric/generated_scopemetricsslice.go @@ -130,6 +130,7 @@ func (es ScopeMetricsSlice) RemoveIf(f func(ScopeMetrics) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ScopeMetricsSlice) RemoveIf(f func(ScopeMetrics) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_scopemetricsslice_test.go b/pdata/pmetric/generated_scopemetricsslice_test.go index c583e161175..6f509fec45d 100644 --- a/pdata/pmetric/generated_scopemetricsslice_test.go +++ b/pdata/pmetric/generated_scopemetricsslice_test.go @@ -141,6 +141,14 @@ func TestScopeMetricsSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestScopeMetricsSlice_RemoveIfAll(t *testing.T) { + got := generateTestScopeMetricsSlice() + got.RemoveIf(func(el ScopeMetrics) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestScopeMetricsSliceAll(t *testing.T) { ms := generateTestScopeMetricsSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_summarydatapointslice.go b/pdata/pmetric/generated_summarydatapointslice.go index ecc20677681..17676460020 100644 --- a/pdata/pmetric/generated_summarydatapointslice.go +++ b/pdata/pmetric/generated_summarydatapointslice.go @@ -130,6 +130,7 @@ func (es SummaryDataPointSlice) RemoveIf(f func(SummaryDataPoint) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es SummaryDataPointSlice) RemoveIf(f func(SummaryDataPoint) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_summarydatapointslice_test.go b/pdata/pmetric/generated_summarydatapointslice_test.go index ef6509a7a8c..485ed762bc4 100644 --- a/pdata/pmetric/generated_summarydatapointslice_test.go +++ b/pdata/pmetric/generated_summarydatapointslice_test.go @@ -141,6 +141,14 @@ func TestSummaryDataPointSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestSummaryDataPointSlice_RemoveIfAll(t *testing.T) { + got := generateTestSummaryDataPointSlice() + got.RemoveIf(func(el SummaryDataPoint) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestSummaryDataPointSliceAll(t *testing.T) { ms := generateTestSummaryDataPointSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pmetric/generated_summarydatapointvalueatquantileslice.go b/pdata/pmetric/generated_summarydatapointvalueatquantileslice.go index 0b5326ab3a8..ef946c01f7b 100644 --- a/pdata/pmetric/generated_summarydatapointvalueatquantileslice.go +++ b/pdata/pmetric/generated_summarydatapointvalueatquantileslice.go @@ -130,6 +130,7 @@ func (es SummaryDataPointValueAtQuantileSlice) RemoveIf(f func(SummaryDataPointV newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es SummaryDataPointValueAtQuantileSlice) RemoveIf(f func(SummaryDataPointV continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pmetric/generated_summarydatapointvalueatquantileslice_test.go b/pdata/pmetric/generated_summarydatapointvalueatquantileslice_test.go index a04ef9ea89a..38c1379ffe0 100644 --- a/pdata/pmetric/generated_summarydatapointvalueatquantileslice_test.go +++ b/pdata/pmetric/generated_summarydatapointvalueatquantileslice_test.go @@ -141,6 +141,14 @@ func TestSummaryDataPointValueAtQuantileSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestSummaryDataPointValueAtQuantileSlice_RemoveIfAll(t *testing.T) { + got := generateTestSummaryDataPointValueAtQuantileSlice() + got.RemoveIf(func(el SummaryDataPointValueAtQuantile) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestSummaryDataPointValueAtQuantileSliceAll(t *testing.T) { ms := generateTestSummaryDataPointValueAtQuantileSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_attributetableslice.go b/pdata/pprofile/generated_attributetableslice.go index 78bc3abc1ec..72f4a6afa95 100644 --- a/pdata/pprofile/generated_attributetableslice.go +++ b/pdata/pprofile/generated_attributetableslice.go @@ -129,6 +129,7 @@ func (es AttributeTableSlice) RemoveIf(f func(Attribute) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = v1.KeyValue{} continue } if newLen == i { @@ -137,6 +138,7 @@ func (es AttributeTableSlice) RemoveIf(f func(Attribute) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = v1.KeyValue{} newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_attributetableslice_test.go b/pdata/pprofile/generated_attributetableslice_test.go index e76c4a5dab3..9a1ba1ea8a7 100644 --- a/pdata/pprofile/generated_attributetableslice_test.go +++ b/pdata/pprofile/generated_attributetableslice_test.go @@ -140,6 +140,14 @@ func TestAttributeTableSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestAttributeTableSlice_RemoveIfAll(t *testing.T) { + got := generateTestAttributeTableSlice() + got.RemoveIf(func(el Attribute) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestAttributeTableSliceAll(t *testing.T) { ms := generateTestAttributeTableSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_attributeunitslice.go b/pdata/pprofile/generated_attributeunitslice.go index 57969d76a8e..7879f3bcce3 100644 --- a/pdata/pprofile/generated_attributeunitslice.go +++ b/pdata/pprofile/generated_attributeunitslice.go @@ -130,6 +130,7 @@ func (es AttributeUnitSlice) RemoveIf(f func(AttributeUnit) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es AttributeUnitSlice) RemoveIf(f func(AttributeUnit) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_attributeunitslice_test.go b/pdata/pprofile/generated_attributeunitslice_test.go index 8ded5a18919..7efa02f9c25 100644 --- a/pdata/pprofile/generated_attributeunitslice_test.go +++ b/pdata/pprofile/generated_attributeunitslice_test.go @@ -141,6 +141,14 @@ func TestAttributeUnitSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestAttributeUnitSlice_RemoveIfAll(t *testing.T) { + got := generateTestAttributeUnitSlice() + got.RemoveIf(func(el AttributeUnit) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestAttributeUnitSliceAll(t *testing.T) { ms := generateTestAttributeUnitSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_functionslice.go b/pdata/pprofile/generated_functionslice.go index 20df6846fdd..e10e585120e 100644 --- a/pdata/pprofile/generated_functionslice.go +++ b/pdata/pprofile/generated_functionslice.go @@ -130,6 +130,7 @@ func (es FunctionSlice) RemoveIf(f func(Function) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es FunctionSlice) RemoveIf(f func(Function) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_functionslice_test.go b/pdata/pprofile/generated_functionslice_test.go index 5d7824514fb..a733579a570 100644 --- a/pdata/pprofile/generated_functionslice_test.go +++ b/pdata/pprofile/generated_functionslice_test.go @@ -141,6 +141,14 @@ func TestFunctionSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestFunctionSlice_RemoveIfAll(t *testing.T) { + got := generateTestFunctionSlice() + got.RemoveIf(func(el Function) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestFunctionSliceAll(t *testing.T) { ms := generateTestFunctionSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_lineslice.go b/pdata/pprofile/generated_lineslice.go index 8c4502e10b9..7f0498b8ef7 100644 --- a/pdata/pprofile/generated_lineslice.go +++ b/pdata/pprofile/generated_lineslice.go @@ -130,6 +130,7 @@ func (es LineSlice) RemoveIf(f func(Line) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es LineSlice) RemoveIf(f func(Line) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_lineslice_test.go b/pdata/pprofile/generated_lineslice_test.go index eac1d8b3a79..a471b5b2242 100644 --- a/pdata/pprofile/generated_lineslice_test.go +++ b/pdata/pprofile/generated_lineslice_test.go @@ -141,6 +141,14 @@ func TestLineSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestLineSlice_RemoveIfAll(t *testing.T) { + got := generateTestLineSlice() + got.RemoveIf(func(el Line) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestLineSliceAll(t *testing.T) { ms := generateTestLineSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_linkslice.go b/pdata/pprofile/generated_linkslice.go index 40d84a68719..130a81073cd 100644 --- a/pdata/pprofile/generated_linkslice.go +++ b/pdata/pprofile/generated_linkslice.go @@ -130,6 +130,7 @@ func (es LinkSlice) RemoveIf(f func(Link) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es LinkSlice) RemoveIf(f func(Link) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_linkslice_test.go b/pdata/pprofile/generated_linkslice_test.go index 7398bc7d2a8..cacf326d6af 100644 --- a/pdata/pprofile/generated_linkslice_test.go +++ b/pdata/pprofile/generated_linkslice_test.go @@ -141,6 +141,14 @@ func TestLinkSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestLinkSlice_RemoveIfAll(t *testing.T) { + got := generateTestLinkSlice() + got.RemoveIf(func(el Link) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestLinkSliceAll(t *testing.T) { ms := generateTestLinkSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_locationslice.go b/pdata/pprofile/generated_locationslice.go index 1a2353247cd..44cd70f3c8f 100644 --- a/pdata/pprofile/generated_locationslice.go +++ b/pdata/pprofile/generated_locationslice.go @@ -130,6 +130,7 @@ func (es LocationSlice) RemoveIf(f func(Location) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es LocationSlice) RemoveIf(f func(Location) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_locationslice_test.go b/pdata/pprofile/generated_locationslice_test.go index 5674591d1cf..c58d72d7b30 100644 --- a/pdata/pprofile/generated_locationslice_test.go +++ b/pdata/pprofile/generated_locationslice_test.go @@ -141,6 +141,14 @@ func TestLocationSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestLocationSlice_RemoveIfAll(t *testing.T) { + got := generateTestLocationSlice() + got.RemoveIf(func(el Location) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestLocationSliceAll(t *testing.T) { ms := generateTestLocationSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_mappingslice.go b/pdata/pprofile/generated_mappingslice.go index cf3a7e290f4..3f851894e33 100644 --- a/pdata/pprofile/generated_mappingslice.go +++ b/pdata/pprofile/generated_mappingslice.go @@ -130,6 +130,7 @@ func (es MappingSlice) RemoveIf(f func(Mapping) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es MappingSlice) RemoveIf(f func(Mapping) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_mappingslice_test.go b/pdata/pprofile/generated_mappingslice_test.go index 595a5d39ab5..da5783fcd31 100644 --- a/pdata/pprofile/generated_mappingslice_test.go +++ b/pdata/pprofile/generated_mappingslice_test.go @@ -141,6 +141,14 @@ func TestMappingSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestMappingSlice_RemoveIfAll(t *testing.T) { + got := generateTestMappingSlice() + got.RemoveIf(func(el Mapping) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestMappingSliceAll(t *testing.T) { ms := generateTestMappingSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_profilesslice.go b/pdata/pprofile/generated_profilesslice.go index 9c6e7f5ffc5..34dbbd868b9 100644 --- a/pdata/pprofile/generated_profilesslice.go +++ b/pdata/pprofile/generated_profilesslice.go @@ -130,6 +130,7 @@ func (es ProfilesSlice) RemoveIf(f func(Profile) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ProfilesSlice) RemoveIf(f func(Profile) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_profilesslice_test.go b/pdata/pprofile/generated_profilesslice_test.go index dd4174e5082..6f431adfa46 100644 --- a/pdata/pprofile/generated_profilesslice_test.go +++ b/pdata/pprofile/generated_profilesslice_test.go @@ -141,6 +141,14 @@ func TestProfilesSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestProfilesSlice_RemoveIfAll(t *testing.T) { + got := generateTestProfilesSlice() + got.RemoveIf(func(el Profile) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestProfilesSliceAll(t *testing.T) { ms := generateTestProfilesSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_resourceprofilesslice.go b/pdata/pprofile/generated_resourceprofilesslice.go index 69f2ad888b5..d3aa48391fe 100644 --- a/pdata/pprofile/generated_resourceprofilesslice.go +++ b/pdata/pprofile/generated_resourceprofilesslice.go @@ -130,6 +130,7 @@ func (es ResourceProfilesSlice) RemoveIf(f func(ResourceProfiles) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ResourceProfilesSlice) RemoveIf(f func(ResourceProfiles) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_resourceprofilesslice_test.go b/pdata/pprofile/generated_resourceprofilesslice_test.go index 7ff599194e5..2ae723d1df7 100644 --- a/pdata/pprofile/generated_resourceprofilesslice_test.go +++ b/pdata/pprofile/generated_resourceprofilesslice_test.go @@ -141,6 +141,14 @@ func TestResourceProfilesSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestResourceProfilesSlice_RemoveIfAll(t *testing.T) { + got := generateTestResourceProfilesSlice() + got.RemoveIf(func(el ResourceProfiles) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestResourceProfilesSliceAll(t *testing.T) { ms := generateTestResourceProfilesSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_sampleslice.go b/pdata/pprofile/generated_sampleslice.go index fbb1866e1e1..a8feb44277b 100644 --- a/pdata/pprofile/generated_sampleslice.go +++ b/pdata/pprofile/generated_sampleslice.go @@ -130,6 +130,7 @@ func (es SampleSlice) RemoveIf(f func(Sample) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es SampleSlice) RemoveIf(f func(Sample) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_sampleslice_test.go b/pdata/pprofile/generated_sampleslice_test.go index 10880328095..3ca25073adc 100644 --- a/pdata/pprofile/generated_sampleslice_test.go +++ b/pdata/pprofile/generated_sampleslice_test.go @@ -141,6 +141,14 @@ func TestSampleSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestSampleSlice_RemoveIfAll(t *testing.T) { + got := generateTestSampleSlice() + got.RemoveIf(func(el Sample) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestSampleSliceAll(t *testing.T) { ms := generateTestSampleSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_scopeprofilesslice.go b/pdata/pprofile/generated_scopeprofilesslice.go index 1561bb00321..481ff31e092 100644 --- a/pdata/pprofile/generated_scopeprofilesslice.go +++ b/pdata/pprofile/generated_scopeprofilesslice.go @@ -130,6 +130,7 @@ func (es ScopeProfilesSlice) RemoveIf(f func(ScopeProfiles) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ScopeProfilesSlice) RemoveIf(f func(ScopeProfiles) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_scopeprofilesslice_test.go b/pdata/pprofile/generated_scopeprofilesslice_test.go index 234b5fd97e0..c30cd065a44 100644 --- a/pdata/pprofile/generated_scopeprofilesslice_test.go +++ b/pdata/pprofile/generated_scopeprofilesslice_test.go @@ -141,6 +141,14 @@ func TestScopeProfilesSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestScopeProfilesSlice_RemoveIfAll(t *testing.T) { + got := generateTestScopeProfilesSlice() + got.RemoveIf(func(el ScopeProfiles) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestScopeProfilesSliceAll(t *testing.T) { ms := generateTestScopeProfilesSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/pprofile/generated_valuetypeslice.go b/pdata/pprofile/generated_valuetypeslice.go index 653fd2d6ade..39faa5ef149 100644 --- a/pdata/pprofile/generated_valuetypeslice.go +++ b/pdata/pprofile/generated_valuetypeslice.go @@ -130,6 +130,7 @@ func (es ValueTypeSlice) RemoveIf(f func(ValueType) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ValueTypeSlice) RemoveIf(f func(ValueType) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/pprofile/generated_valuetypeslice_test.go b/pdata/pprofile/generated_valuetypeslice_test.go index 2bb0245e190..6f9e70fa222 100644 --- a/pdata/pprofile/generated_valuetypeslice_test.go +++ b/pdata/pprofile/generated_valuetypeslice_test.go @@ -141,6 +141,14 @@ func TestValueTypeSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestValueTypeSlice_RemoveIfAll(t *testing.T) { + got := generateTestValueTypeSlice() + got.RemoveIf(func(el ValueType) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestValueTypeSliceAll(t *testing.T) { ms := generateTestValueTypeSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/ptrace/generated_resourcespansslice.go b/pdata/ptrace/generated_resourcespansslice.go index 79acb8c4376..b9f122e7215 100644 --- a/pdata/ptrace/generated_resourcespansslice.go +++ b/pdata/ptrace/generated_resourcespansslice.go @@ -130,6 +130,7 @@ func (es ResourceSpansSlice) RemoveIf(f func(ResourceSpans) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ResourceSpansSlice) RemoveIf(f func(ResourceSpans) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/ptrace/generated_resourcespansslice_test.go b/pdata/ptrace/generated_resourcespansslice_test.go index a36a2749106..7634fffefe0 100644 --- a/pdata/ptrace/generated_resourcespansslice_test.go +++ b/pdata/ptrace/generated_resourcespansslice_test.go @@ -141,6 +141,14 @@ func TestResourceSpansSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestResourceSpansSlice_RemoveIfAll(t *testing.T) { + got := generateTestResourceSpansSlice() + got.RemoveIf(func(el ResourceSpans) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestResourceSpansSliceAll(t *testing.T) { ms := generateTestResourceSpansSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/ptrace/generated_scopespansslice.go b/pdata/ptrace/generated_scopespansslice.go index 882c2a1f49b..0583df2c9e1 100644 --- a/pdata/ptrace/generated_scopespansslice.go +++ b/pdata/ptrace/generated_scopespansslice.go @@ -130,6 +130,7 @@ func (es ScopeSpansSlice) RemoveIf(f func(ScopeSpans) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es ScopeSpansSlice) RemoveIf(f func(ScopeSpans) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/ptrace/generated_scopespansslice_test.go b/pdata/ptrace/generated_scopespansslice_test.go index b762955eacd..5d29a67b145 100644 --- a/pdata/ptrace/generated_scopespansslice_test.go +++ b/pdata/ptrace/generated_scopespansslice_test.go @@ -141,6 +141,14 @@ func TestScopeSpansSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestScopeSpansSlice_RemoveIfAll(t *testing.T) { + got := generateTestScopeSpansSlice() + got.RemoveIf(func(el ScopeSpans) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestScopeSpansSliceAll(t *testing.T) { ms := generateTestScopeSpansSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/ptrace/generated_spaneventslice.go b/pdata/ptrace/generated_spaneventslice.go index eef081ab2a4..373abe754e1 100644 --- a/pdata/ptrace/generated_spaneventslice.go +++ b/pdata/ptrace/generated_spaneventslice.go @@ -130,6 +130,7 @@ func (es SpanEventSlice) RemoveIf(f func(SpanEvent) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es SpanEventSlice) RemoveIf(f func(SpanEvent) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/ptrace/generated_spaneventslice_test.go b/pdata/ptrace/generated_spaneventslice_test.go index 841a1185273..7d8f7e1d4a0 100644 --- a/pdata/ptrace/generated_spaneventslice_test.go +++ b/pdata/ptrace/generated_spaneventslice_test.go @@ -141,6 +141,14 @@ func TestSpanEventSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestSpanEventSlice_RemoveIfAll(t *testing.T) { + got := generateTestSpanEventSlice() + got.RemoveIf(func(el SpanEvent) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestSpanEventSliceAll(t *testing.T) { ms := generateTestSpanEventSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/ptrace/generated_spanlinkslice.go b/pdata/ptrace/generated_spanlinkslice.go index 4a00ee672ff..5de7956a570 100644 --- a/pdata/ptrace/generated_spanlinkslice.go +++ b/pdata/ptrace/generated_spanlinkslice.go @@ -130,6 +130,7 @@ func (es SpanLinkSlice) RemoveIf(f func(SpanLink) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es SpanLinkSlice) RemoveIf(f func(SpanLink) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/ptrace/generated_spanlinkslice_test.go b/pdata/ptrace/generated_spanlinkslice_test.go index 576fcc64882..256f1ef7ca5 100644 --- a/pdata/ptrace/generated_spanlinkslice_test.go +++ b/pdata/ptrace/generated_spanlinkslice_test.go @@ -141,6 +141,14 @@ func TestSpanLinkSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestSpanLinkSlice_RemoveIfAll(t *testing.T) { + got := generateTestSpanLinkSlice() + got.RemoveIf(func(el SpanLink) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestSpanLinkSliceAll(t *testing.T) { ms := generateTestSpanLinkSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/ptrace/generated_spanslice.go b/pdata/ptrace/generated_spanslice.go index eaa9682b5a8..ddd9629048f 100644 --- a/pdata/ptrace/generated_spanslice.go +++ b/pdata/ptrace/generated_spanslice.go @@ -130,6 +130,7 @@ func (es SpanSlice) RemoveIf(f func(Span) bool) { newLen := 0 for i := 0; i < len(*es.orig); i++ { if f(es.At(i)) { + (*es.orig)[i] = nil continue } if newLen == i { @@ -138,6 +139,7 @@ func (es SpanSlice) RemoveIf(f func(Span) bool) { continue } (*es.orig)[newLen] = (*es.orig)[i] + (*es.orig)[i] = nil newLen++ } *es.orig = (*es.orig)[:newLen] diff --git a/pdata/ptrace/generated_spanslice_test.go b/pdata/ptrace/generated_spanslice_test.go index 018e7313bbf..88f484843ee 100644 --- a/pdata/ptrace/generated_spanslice_test.go +++ b/pdata/ptrace/generated_spanslice_test.go @@ -141,6 +141,14 @@ func TestSpanSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestSpanSlice_RemoveIfAll(t *testing.T) { + got := generateTestSpanSlice() + got.RemoveIf(func(el Span) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestSpanSliceAll(t *testing.T) { ms := generateTestSpanSlice() assert.NotEmpty(t, ms.Len()) diff --git a/pdata/xpdata/entity/generated_entityrefslice.go b/pdata/xpdata/entity/generated_entityrefslice.go index b1eb4cec7fa..0e7f92f0dc0 100644 --- a/pdata/xpdata/entity/generated_entityrefslice.go +++ b/pdata/xpdata/entity/generated_entityrefslice.go @@ -126,6 +126,7 @@ func (es EntityRefSlice) RemoveIf(f func(EntityRef) bool) { newLen := 0 for i := 0; i < len(*es.getOrig()); i++ { if f(es.At(i)) { + (*es.getOrig())[i] = nil continue } if newLen == i { @@ -134,6 +135,7 @@ func (es EntityRefSlice) RemoveIf(f func(EntityRef) bool) { continue } (*es.getOrig())[newLen] = (*es.getOrig())[i] + (*es.getOrig())[i] = nil newLen++ } *es.getOrig() = (*es.getOrig())[:newLen] diff --git a/pdata/xpdata/entity/generated_entityrefslice_test.go b/pdata/xpdata/entity/generated_entityrefslice_test.go index 735a1a14e02..8f43ceb3202 100644 --- a/pdata/xpdata/entity/generated_entityrefslice_test.go +++ b/pdata/xpdata/entity/generated_entityrefslice_test.go @@ -141,6 +141,14 @@ func TestEntityRefSlice_RemoveIf(t *testing.T) { assert.Equal(t, 5, filtered.Len()) } +func TestEntityRefSlice_RemoveIfAll(t *testing.T) { + got := generateTestEntityRefSlice() + got.RemoveIf(func(el EntityRef) bool { + return true + }) + assert.Equal(t, 0, got.Len()) +} + func TestEntityRefSliceAll(t *testing.T) { ms := generateTestEntityRefSlice() assert.NotEmpty(t, ms.Len())