From d7e69cd67d015ad21dd5c9a8a110c207d94994b8 Mon Sep 17 00:00:00 2001 From: Samiur Arif Date: Tue, 26 Mar 2024 15:40:26 -0700 Subject: [PATCH] Adding upgrade section for memory_ballast (#4543) Co-authored-by: Dmitry Anoshin Co-authored-by: Antoine Toulme Co-authored-by: Aunsh Chaudhari --- README.md | 12 ++++++++++++ .../configconverter/remove_memory_ballast_key.go | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 89bc2b8123..a9bebb9e91 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,18 @@ manually before the backward compatibility is dropped. For every configuration u [the default agent config](https://github.com/signalfx/splunk-otel-collector/blob/main/cmd/otelcol/config/collector/agent_config.yaml) as a reference. +### From 0.96.1 to 0.97.0 + +- `memory_ballast` is no longer effective. The garbage collection is now controlled by the soft memory limit set to 90% + of total memory (`SPLUNK_MEMORY_TOTAL_MIB` env var) by default. + + If you haven't customized the `memory_ballast`, just remove it from the configuration. + + If you have customized it via `SPLUNK_BALLAST_SIZE_MIB` (or `extensions::memory_ballast::size_mib` config), you should + remove the `memory_ballast` extension and use the [`GOMEMLIMIT`](https://pkg.go.dev/runtime) environment variable to set a custom soft memory limit: + - To increase frequency of garbage collections: set `GOMEMLIMIT` to a higher value than the default 90% of total memory. + - To decrease frequency of garbage collections: set `GOMEMLIMIT` to a lower value than the default 90% of total memory. + ### From 0.68.0 to 0.69.0 - `gke` and `gce` resource detectors in `resourcedetection` processor are replaced with `gcp` resource detector. diff --git a/internal/configconverter/remove_memory_ballast_key.go b/internal/configconverter/remove_memory_ballast_key.go index 10648b68d8..5e3ac5b975 100644 --- a/internal/configconverter/remove_memory_ballast_key.go +++ b/internal/configconverter/remove_memory_ballast_key.go @@ -51,7 +51,8 @@ func (RemoveMemoryBallastKey) Convert(_ context.Context, cfgMap *confmap.Conf) e out := map[string]any{} for _, k := range cfgMap.AllKeys() { if firstRegExp.MatchString(k) { - log.Println("[WARNING] `memory_ballast` parameter in extensions is deprecated. Please remove it from your configuration.") + log.Println("[WARNING] `memory_ballast` extension is deprecated. Please remove it from your configuration. " + + "See https://github.com/signalfx/splunk-otel-collector#from-0961-to-0970 for more details") continue } if secondRegExp.MatchString(k) {