Skip to content

Commit 39359ba

Browse files
committed
feat: added memory limiter and set resources for collector
1 parent 9086bc3 commit 39359ba

2 files changed

Lines changed: 30 additions & 5 deletions

File tree

stackgres-k8s/install/helm/stackgres-operator/values.yaml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,13 @@ collector:
162162
# -- OpenTelemetry Collector receivers Deployment Pod tolerations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#toleration-v1-core
163163
# tolerations: []
164164
# -- OpenTelemetry Collector Pod resources. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core
165-
resources: {}
165+
resources:
166+
limits:
167+
memory: "4Gi"
168+
cpu: "1"
169+
requests:
170+
memory: "1Gi"
171+
cpu: "250m"
166172
# -- OpenTelemetry Collector Pod affinity
167173
affinity: {}
168174
# -- OpenTelemetry Collector Pod annotations. See https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#affinity-v1-core
@@ -198,7 +204,6 @@ collector:
198204
volumes: []
199205
# Section to configure OpenTelemetry Collector Configuration. See https://opentelemetry.io/docs/collector/configuration
200206
config:
201-
processors: {}
202207
receivers:
203208
otlp:
204209
protocols:
@@ -208,6 +213,11 @@ collector:
208213
ca_file: "/etc/operator/certs/tls.crt"
209214
cert_file: "/etc/operator/certs/tls.crt"
210215
key_file: "/etc/operator/certs/tls.key"
216+
processors:
217+
memory_limiter: # soft limit should be less than hard limit so we never reach the 4GiB
218+
check_interval: 1s
219+
limit_percentage: 80
220+
spike_limit_percentage: 15
211221
exporters:
212222
prometheus:
213223
endpoint: "0.0.0.0:9464"
@@ -217,7 +227,7 @@ collector:
217227
key_file: "/etc/operator/certs/tls.key"
218228
reload_interval: 10m
219229
send_timestamps: true
220-
metric_expiration: 180m
230+
metric_expiration: 5m
221231
enable_open_metrics: false
222232
resource_to_telemetry_conversion:
223233
enabled: false
@@ -231,7 +241,8 @@ collector:
231241
metrics:
232242
receivers:
233243
- prometheus
234-
processors: []
244+
processors:
245+
- memory_limiter
235246
exporters:
236247
- prometheus
237248
# Section to configure OpenTelemetry Collector integration with Prometheus Operator.

stackgres-k8s/src/common/src/main/resources/crds/SGConfig.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,13 @@ spec:
386386
387387
See receivers section to scale this architecture to a set of OpenTelemetry Collectors.
388388
default:
389+
resources:
390+
limits:
391+
memory: "4Gi"
392+
cpu: "1"
393+
requests:
394+
memory: "1Gi"
395+
cpu: "250m"
389396
service:
390397
spec:
391398
type: ClusterIP
@@ -408,6 +415,11 @@ spec:
408415
ca_file: "/etc/operator/certs/tls.crt"
409416
cert_file: "/etc/operator/certs/tls.crt"
410417
key_file: "/etc/operator/certs/tls.key"
418+
processors:
419+
memory_limiter: # soft limit should be less than hard limit so we never reach the 4GiB
420+
check_interval: 1s
421+
limit_percentage: 80
422+
spike_limit_percentage: 15
411423
exporters:
412424
prometheus:
413425
endpoint: "0.0.0.0:9464"
@@ -417,7 +429,7 @@ spec:
417429
key_file: "/etc/operator/certs/tls.key"
418430
reload_interval: 10m
419431
send_timestamps: true
420-
metric_expiration: 180m
432+
metric_expiration: 5m
421433
enable_open_metrics: false
422434
resource_to_telemetry_conversion:
423435
enabled: false
@@ -430,6 +442,8 @@ spec:
430442
metrics:
431443
receivers:
432444
- prometheus
445+
processors:
446+
- memory_limiter
433447
exporters:
434448
- prometheus
435449
prometheusOperator:

0 commit comments

Comments
 (0)