v0.97.0
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)
IntroducesValidate()
method in TLSSetting. - (Contrib)
exporter/loadbalancingexporter
: Adding AWS Cloud Map for service discovery of Collectors backend. (#27241) - (Contrib)
awss3exporter
: addcompression
option to enable file compression on S3 (#27872)
Addcompression
option to compress files usingcompress/gzip
library before uploading to S3. - (Contrib)
awss3exporter
: Add support for encoding extension to awss3exporter (#30554) - (Contrib)
deltatocumulativeprocessor
: introduce configurable stream limit (#31488)
Addsmax_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
: AddParseXML
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
: Addmetrics_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 themetrics_expiration
option. By default, the expiration is disabled (set to 0).
🛑 Breaking changes 🛑
- (Splunk)
collectd/kong
: Removecollectd/kong
. Please use the Prometheus receiver instead. (#4420) - (Splunk)
spanmetricsprocessor
: Removespanmetricsprocessor
. Please usespanmetrics
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
thevcenter.resource_pool.name
,vcenter.resource_pool.inventory_path
, andvcenter.cluster.name
are reported with more accuracy on VM metrics.
🧰 Bug fixes 🧰
- (Splunk)
telemetry
: Simplify the config converter setting themetric_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 themetric_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 withextract_count_metric()
to be the default unit (1
) (#31575)
The original metricunit
does not apply to extractedcount
metrics the same way it does tosum
,min
ormax
.
Metrics extracted usingextract_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
)