Skip to content

v0.97.0

Compare
Choose a tag to compare
@srv-gh-o11y-gdi srv-gh-o11y-gdi released this 28 Mar 03:42
· 911 commits to main since this release
v0.97.0
5119087

This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.97.0 and the opentelemetry-collector-contrib v0.97.0 releases where appropriate.

⚠️ Upgrade guidelines regarding the collector memory ballast. ⚠️

reproduced from repository README

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 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.

🚀 New components 🚀

  • (Splunk) Add AWS container insights receiver (#4125)
  • (Splunk) Add AWS ECS container metrics receiver (#4125)
  • (Splunk) Add Apache metrics receiver (#4505)

💡 Enhancements 💡

  • (Splunk) memory_ballast has been removed. If GOMEMLIMIT env var is not set, then 90% of the total available memory limit is set by default. (#4404)
    Please review the upgrade guidelines in the README.
  • (Splunk) Support Windows offline installations (#4471)
  • (Core) configtls: Validates TLS min_version and max_version (#9475)
    Introduces Validate() method in TLSSetting.
  • (Contrib) exporter/loadbalancingexporter: Adding AWS Cloud Map for service discovery of Collectors backend. (#27241)
  • (Contrib) awss3exporter: add compression option to enable file compression on S3 (#27872)
    Add compression option to compress files using compress/gzip library before uploading to S3.
  • (Contrib) awss3exporter: Add support for encoding extension to awss3exporter (#30554)
  • (Contrib) deltatocumulativeprocessor: introduce configurable stream limit (#31488)
    Adds max_streams option that allows to set upper bound (default = unlimited)
    to the number of tracked streams. Any additional streams exceeding the limit
    are dropped.
  • (Contrib) fileexporter: Adopt the encoding extension with the file exporter. (#31774)
  • (Contrib) pkg/ottl: Add ParseXML function for parsing XML from a target string. (#31133)
  • (Contrib) fileexporter: Added the option to write telemetry data into multiple files, where the file path is based on a resource attribute. (#24654)
  • (Contrib) fileexporter: File write mode is configurable now (truncate or append) (#31364)
  • (Contrib) k8sclusterreceiver: add optional status_last_terminated_reason resource attribute (#31282)
  • (Contrib) prometheusreceiver: Use confighttp for target allocator client (#31449)
  • (Contrib) spanmetricsconnector: Add metrics_expiration option to enable expiration of metrics if spans are not received within a certain time frame. (#30559)
    The feature can be configured by specifiying the desired duration in the metrics_expiration option. By default, the expiration is disabled (set to 0).

🛑 Breaking changes 🛑

  • (Splunk) collectd/kong: Remove collectd/kong. Please use the Prometheus receiver instead. (#4420)
  • (Splunk) spanmetricsprocessor: Remove spanmetricsprocessor. Please use spanmetrics connector instead. (#4454)
  • (Core) telemetry: Remove telemetry.useOtelForInternalMetrics stable feature gate (#9752)
  • (Contrib) receiver/postgresql: Bump postgresqlreceiver.preciselagmetrics gate to beta (#31220)
  • (Contrib) receiver/vcenter: Bump receiver.vcenter.emitPerfMetricsWithObjects feature gate to stable (#31215)
  • (Contrib) prometheusreceiver: Remove enable_protobuf_negotiation option on the prometheus receiver. Use config.global.scrape_protocols = [ PrometheusProto, OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ] instead. (#30883)
    See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file for details on setting scrape_protocols.
  • (Contrib) vcenterreceiver: Fixed the resource attribute model to more accurately support multi-cluster deployments (#30879)
    For more information on impacts please refer open-telemetry/opentelemetry-collector-contrib#31113. The main impacts are that
    the vcenter.resource_pool.name, vcenter.resource_pool.inventory_path, and vcenter.cluster.name are reported with more accuracy on VM metrics.

🧰 Bug fixes 🧰

  • (Splunk) telemetry: Simplify the config converter setting the metric_relabel_configs in the Prometheus receiver
    to remove the excessive internal metrics. Now, it only overrides the old default rule excluding .*grpc_io.* metrics.
    Any other custom setting is left untouched. Otherwise, customizing the metric_relabel_configs is very difficult.
    (#4482)
  • (Core) exporterhelper: Fix persistent queue size backup on reads. (#9740)
  • (Core) processor/batch: Prevent starting unnecessary goroutines. (#9739)
  • (Core) otlphttpexporter: prevent error on empty response body when content type is application/json (#9666)
  • (Core) otelcol: Respect telemetry configuration when running as a Windows service (#5300)
  • (Contrib) carbonreceiver: Do not report fatal error when closed normally (#31913)
  • (Contrib)exporter/loadbalancing: Fix panic when a sub-exporter is shut down while still handling requests. (#31410)
  • (Contrib) hostmetricsreceiver: Adds the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to optionally normalize process.cpu.utilization values. (#31368)
    When enabled, the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate will cause process.cpu.utilization values to be divided by the number of logical cores on the system. This is necessary to produce a value on the interval of [0-1], as the description of process.cpu.utilization the metric says.
  • (Contrib) transformprocessor: Change metric unit for metrics extracted with extract_count_metric() to be the default unit (1) (#31575)
    The original metric unit does not apply to extracted count metrics the same way it does to sum, min or max.
    Metrics extracted using extract_count_metric() now use the more appropriate default unit (1) instead.
  • (Contrib) loadbalancingexporter: Fix memory leaks on shutdown (#31050)
  • (Contrib) signalfxexporter: Fix memory leak in shutdown (#30864, #30438)
  • (Contrib) processor/k8sattributes: Allows k8sattributes processor to work with k8s role/rolebindings when filter::namespace is set. (#14742)
  • (Contrib) sqlqueryreceiver: Fix memory leak on shutdown for log telemetry (#31782)

Docker Images:

  • quay.io/signalfx/splunk-otel-collector:0.97.0-amd64 (digest: sha256:7e69d36e0ca488ad26ecdf6ac6f17d6a3186753326eb7301917396ac5892281a)
  • quay.io/signalfx/splunk-otel-collector:0.97.0-arm64 (digest: sha256:233b3396c11fa3f2095f050ad429acb95af80f1e910ee522ecf216c81b2a228a)
  • quay.io/signalfx/splunk-otel-collector:0.97.0-ppc64le (digest: sha256:0310fb65fb031eda5c07d55fdb13d047fab30b91f7534223a857a1597061d472)
  • quay.io/signalfx/splunk-otel-collector-windows:0.97.0 (digest: sha256:6b4a464877821420118447ce4a39bdde1629ac88b385785929b41a1b743e60e4)
  • quay.io/signalfx/splunk-otel-collector-windows:0.97.0-2019 (digest: sha256:8ab244a6bb2236d7aeea2ff08c2bb80cf10887709c1d6c9cc4080368a1a75e6c)
  • quay.io/signalfx/splunk-otel-collector-windows:0.97.0-2022 (digest: sha256:81cd15901e784951854c96ec4681091d597573355d7ecab27584886babed770c)