Skip to content

Commit 13a4157

Browse files
Replacing memory limiter processor with extension (#4689)
1 parent 19e3ebe commit 13a4157

File tree

6 files changed

+252
-230
lines changed

6 files changed

+252
-230
lines changed

NOTICE.txt

+223-223
Large diffs are not rendered by default.

go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,12 @@ require (
105105
go.opentelemetry.io/collector/exporter v0.100.0
106106
go.opentelemetry.io/collector/exporter/debugexporter v0.100.0
107107
go.opentelemetry.io/collector/exporter/otlpexporter v0.100.0
108+
go.opentelemetry.io/collector/extension v0.100.0
109+
go.opentelemetry.io/collector/extension/memorylimiterextension v0.100.0
108110
go.opentelemetry.io/collector/featuregate v1.7.0
109111
go.opentelemetry.io/collector/otelcol v0.100.0
110112
go.opentelemetry.io/collector/processor v0.100.0
111113
go.opentelemetry.io/collector/processor/batchprocessor v0.100.0
112-
go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.100.0
113114
go.opentelemetry.io/collector/receiver v0.100.0
114115
go.opentelemetry.io/collector/receiver/otlpreceiver v0.100.0
115116
)
@@ -235,7 +236,6 @@ require (
235236
go.opentelemetry.io/collector/config/internal v0.100.0 // indirect
236237
go.opentelemetry.io/collector/connector v0.100.0 // indirect
237238
go.opentelemetry.io/collector/consumer v0.100.0 // indirect
238-
go.opentelemetry.io/collector/extension v0.100.0 // indirect
239239
go.opentelemetry.io/collector/extension/auth v0.100.0 // indirect
240240
go.opentelemetry.io/collector/pdata v1.7.0 // indirect
241241
go.opentelemetry.io/collector/semconv v0.100.0 // indirect

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -1998,6 +1998,8 @@ go.opentelemetry.io/collector/extension v0.100.0 h1:HT3h5JE+5xK3CCwF7VJKCOuZkLBM
19981998
go.opentelemetry.io/collector/extension v0.100.0/go.mod h1:B7jsEl6HAZB79NU41AdoMwLgXn4yTTO5NTlxRrsORoo=
19991999
go.opentelemetry.io/collector/extension/auth v0.100.0 h1:Z8QVtntWiORnbVSCQfOxtnOOv9baqTlL8mTOaKi/9nc=
20002000
go.opentelemetry.io/collector/extension/auth v0.100.0/go.mod h1:nkqaVzUAdqqkUGdMqoIqH/xlGU0rCxRZy1Altyz0gQk=
2001+
go.opentelemetry.io/collector/extension/memorylimiterextension v0.100.0 h1:MICgwhqSuV3DyhKOG+FzDKyG5wSwzwSi+JiI6Je7pUA=
2002+
go.opentelemetry.io/collector/extension/memorylimiterextension v0.100.0/go.mod h1:54ubyU8V3YKIVpQk7+0FpmMpmfoWHpLkR6i8Wk2nXGM=
20012003
go.opentelemetry.io/collector/extension/zpagesextension v0.100.0 h1:4bHq1NBg8hU+NSd9DBVFAl4vxi40J0tqClmU3IknrEg=
20022004
go.opentelemetry.io/collector/extension/zpagesextension v0.100.0/go.mod h1:mcLfCcjq0/yZoieuyO0H5rVL3u7Why0/MRezNV2E7AU=
20032005
go.opentelemetry.io/collector/featuregate v1.7.0 h1:8tNgX2VaiR9jrpZevRSvStuJrvvL6WwScT264HNLk7U=
@@ -2012,8 +2014,6 @@ go.opentelemetry.io/collector/processor v0.100.0 h1:8Zcd3v77SCSM5mAJbGes5aR/Yof3
20122014
go.opentelemetry.io/collector/processor v0.100.0/go.mod h1:ZqUC8WWVYyPkaLUT1JXUCNpCpde8zXgSaFfJq2FXuVU=
20132015
go.opentelemetry.io/collector/processor/batchprocessor v0.100.0 h1:N94WWv+o9yt4HqvFeRUjL8VNEhY8mCym+2XPKUWxjmo=
20142016
go.opentelemetry.io/collector/processor/batchprocessor v0.100.0/go.mod h1:svXHN23yozQ+GLt04dKXHiZRYipWONt4blJifu2bloY=
2015-
go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.100.0 h1:morjp97HbT8gcbzThWUuWIh625Mozkig2HN5xypL+9o=
2016-
go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.100.0/go.mod h1:/szfMBZ4IanwwOGBIti346fMTzbla3qw++UsZH6nQHw=
20172017
go.opentelemetry.io/collector/receiver v0.100.0 h1:RFeOVhS7o39G562w0H0hqfh1o2QvK71ViHQuWnnfglI=
20182018
go.opentelemetry.io/collector/receiver v0.100.0/go.mod h1:Qo3xkorbUy0VXHh7WxMQyphIWiqxI3ZOG0O4YqQ2mCE=
20192019
go.opentelemetry.io/collector/receiver/otlpreceiver v0.100.0 h1:JuTBkWQ0xc8FargDe5aE6wCoAEk1gxLnBzfdIi8NOL8=

internal/pkg/otel/README.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ This section provides a summary of components included in the Elastic Distributi
5858
| resourceprocessor | v0.100.0|
5959
| transformprocessor | v0.100.0|
6060
| batchprocessor | v0.100.0|
61-
| memorylimiterprocessor | v0.100.0|
6261

6362

6463

64+
65+
### Extensions
66+
67+
| Component | Version |
68+
|---|---|
69+
| memorylimiterextension | v0.100.0|
70+

internal/pkg/otel/components.go

+11-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package otel
66

77
import (
88
"go.opentelemetry.io/collector/exporter"
9+
"go.opentelemetry.io/collector/extension"
910
"go.opentelemetry.io/collector/otelcol"
1011
"go.opentelemetry.io/collector/processor"
1112
"go.opentelemetry.io/collector/receiver"
@@ -20,13 +21,15 @@ import (
2021
resourceprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor" // for modifying resource attributes
2122
transformprocessor "github.com/open-telemetry/opentelemetry-collector-contrib/processor/transformprocessor" // for OTTL processing on logs
2223
"go.opentelemetry.io/collector/processor/batchprocessor" // for batching events
23-
"go.opentelemetry.io/collector/processor/memorylimiterprocessor" // for putting backpressure when approach a memory limit
2424

2525
// Exporters:
2626
"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter"
2727
fileexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/fileexporter" // for e2e tests
2828
debugexporter "go.opentelemetry.io/collector/exporter/debugexporter" // for dev
2929
"go.opentelemetry.io/collector/exporter/otlpexporter"
30+
31+
// Extensions
32+
"go.opentelemetry.io/collector/extension/memorylimiterextension" // for putting backpressure when approach a memory limit
3033
)
3134

3235
func components() (otelcol.Factories, error) {
@@ -45,7 +48,6 @@ func components() (otelcol.Factories, error) {
4548
// Processors
4649
factories.Processors, err = processor.MakeFactoryMap(
4750
batchprocessor.NewFactory(),
48-
memorylimiterprocessor.NewFactory(),
4951
resourceprocessor.NewFactory(),
5052
attributesprocessor.NewFactory(),
5153
transformprocessor.NewFactory(),
@@ -66,5 +68,12 @@ func components() (otelcol.Factories, error) {
6668
return otelcol.Factories{}, err
6769
}
6870

71+
factories.Extensions, err = extension.MakeFactoryMap(
72+
memorylimiterextension.NewFactory(),
73+
)
74+
if err != nil {
75+
return otelcol.Factories{}, err
76+
}
77+
6978
return factories, err
7079
}

otel.yml

+7
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,14 @@ exporters:
1616
sampling_initial: 10000
1717
sampling_thereafter: 10000
1818

19+
extensions:
20+
memory_limiter:
21+
check_interval: 1s
22+
limit_mib: 700
23+
spike_limit_mib: 180
24+
1925
service:
26+
extensions: [memory_limiter]
2027
pipelines:
2128
logs:
2229
receivers: [filelog]

0 commit comments

Comments
 (0)