v0.87.0
srv-gh-o11y-gdi
released this
31 Oct 20:23
·
1411 commits
to main
since this release
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.87.0 and the opentelemetry-collector-contrib v0.87.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Auto Instrumentation for Linux (#3791):
- The
/usr/lib/splunk-instrumentation/instrumentation.conf
config file is no longer
supported, and is replaced by/etc/splunk/zeroconfig/java.conf
. If thesplunk-otel-auto-instrumentation
deb/rpm
package is manually upgraded, the options within/usr/lib/splunk-instrumentation/instrumentation.conf
will need to
be manually migrated to their corresponding environment variables within/etc/splunk/zeroconfig/java.conf
. - Manual installation of the
splunk-otel-auto-instrumentation
deb/rpm package no longer automatically adds
/usr/lib/splunk-instrumentation/libsplunk.so
to/etc/ld.so.preload
. - Manual upgrade of the
splunk-otel-auto-instrumentation
deb/rpm package will automatically remove
/usr/lib/splunk-instrumentation/libsplunk.so
from/etc/ld.so.preload
. - The
splunk.linux-autoinstr.executions
metric is no longer generated bylibsplunk.so
. - See Splunk OpenTelemetry Zero Configuration Auto Instrumentation for Linux
for manual installation/configuration details. - For users of the Ansible, Chef, Puppet, or Salt modules for Auto Instrumentation, it is recommended to update the following option in your configuration for version
0.86.0
or older until these modules are updated to manage these changes:- Ansible:
splunk_otel_auto_instrumentation_version
- Chef:
auto_instrumentation_version
- Puppet:
auto_instrumentation_version
- Salt:
auto_instrumentation_version
- Ansible:
- The
- (Contrib)
kubeletstatsreceiver
: Fixes a bug where the "insecure_skip_verify" config was not being honored when "auth_type" is "serviceAccount" in kubelet client. (#26319)- Before the fix, the kubelet client was not verifying kubelet's certificate. The default value of the config is false,
so with the fix the client will start verifying tls cert unless the config is explicitly set to true.
- Before the fix, the kubelet client was not verifying kubelet's certificate. The default value of the config is false,
- (Contrib)
tailsamplingprocessor
: Improve counting for thecount_traces_sampled
metric (#25882) - (Contrib)
extension/filestorage
: Replace path-unsafe characters in component names (#3148) - (Core)
service/telemetry exporter/exporterhelper
: Enable sampling logging by default and apply it to all components. (#8134)- The sampled logger configuration can be disabled easily by setting the
service::telemetry::logs::sampling::enabled
tofalse
.
- The sampled logger configuration can be disabled easily by setting the
🚩 Deprecations 🚩
- (Splunk) The following Auto Instrumentation options for the Linux installer script are deprecated and will only apply if the
--instrumentation-version <version>
option is specified for version0.86.0
or older:--[no-]generate-service-name
:libsplunk.so
no longer generates service names for instrumented applications. The default behavior is for the activated Java and/or Node.js Auto Instrumentation agents to automatically generate service names. Use the--service-name <name>
option to override the auto-generated service names for all instrumented applications.--[enable|disable]-telemetry
:libsplunk.so
no longer generates thesplunk.linux-autoinstr.executions
telemetry metric.
🚀 New components 🚀
💡 Enhancements 💡
- (Splunk) Update golang to 1.20.10 (#3770)
- (Splunk) Add debian 12 support to installer (#3766)
- (Splunk) Add new Auto Instrumentation options for the Linux installer script (#3791):
--with[out]-systemd-instrumentation
: Activate auto instrumentation for onlysystemd
services without preloading
thelibsplunk.so
shared object library (default:--without-systemd-instrumentation
)- Initial support for Splunk OpenTelemetry Auto Instrumentation for Node.js:
- Activated by default if the
--with-instrumentation
or--with-systemd-instrumentation
option is specified. - Use the
--without-instrumentation-sdk node
option to explicitly skip Node.js. npm
is required to install the Node.js Auto Instrumentation package. Ifnpm
is not installed, Node.js will
be skipped automatically.- By default, the Node.js Auto Instrumentation package is installed with the
npm install --global
command. Use the
--npm-command "<command>"
option to specify a custom command. - Environment variables to activate and configure Node.js auto instrumentation are added to
/etc/splunk/zeroconfig/node.conf
(for--with-instrumentation
) or
/usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf
(for--with-systemd-instrumentation
) based on defaults and specified installation options.
- Activated by default if the
- Auto Instrumentation for Java is also activated by default if the
--with-instrumentation
or
--with-systemd-instrumentation
option is specified. Use the--without-instrumentation-sdk java
option to skip Java. --otlp-endpoint host:port
: Set the OTLP gRPC endpoint for captured traces (default:http://LISTEN_INTERFACE:4317
whereLISTEN_INTERFACE
is the value from the--listen-interface
option if specified, or127.0.0.1
otherwise)- See Linux Installer Script for more details.
- (Splunk) Update splunk-otel-javaagent to v1.29.0 (#3788)
- (Splunk) Redis discovery (#3731)
- (Splunk) Update Bundled OpenJDK to 11.0.21+9 (#3819)
- (Splunk) Oracledb discovery tweaks (remove static endpoint) (#3836)
- (Contrib)
probabilisticsamplerprocessor
: Allow non-bytes values to be used as the source for the sampling decision (#18222) - (Contrib)
kafkareceiver
: Allow users to attach kafka header metadata with the log/metric/trace record in the pipeline. Introduce a new config param, 'header_extraction' and some examples. (#24367) - (Contrib)
kafkaexporter
: Adding Zipkin encoding option for traces to kafkaexporter (#21102) - (Contrib)
kubeletstatsreceiver
: Support specifying context forkubeConfig
auth_type
(#26665) - (Contrib)
kubeletstatsreceiver
: Adds newk8s.pod.cpu_limit_utilization
,k8s.pod.cpu_request_utilization
,k8s.container.cpu_limit_utilization
, andk8s.container.cpu_request_utilization
metrics that represent the ratio of cpu used vs set limits and requests. (#27276) - (Contrib)
kubeletstatsreceiver
: Adds newk8s.pod.memory_limit_utilization
,k8s.pod.memory_request_utilization
,k8s.container.memory_limit_utilization
, andk8s.container.memory_request_utilization
metrics that represent the ratio of memory used vs set limits and requests. (#25894)
🧰 Bug fixes 🧰
- (Contrib)
spanmetricsprocessor
: Prune histograms when dimension cache is pruned. (#27080)- Dimension cache was always pruned but histograms were not being pruned. This caused metric series created
by processor/spanmetrics to grow unbounded.
- Dimension cache was always pruned but histograms were not being pruned. This caused metric series created
- (Contrib)
splunkhecreceiver
: Fix receiver behavior when used for metrics and logs at the same time; metrics are no longer dropped. (#27473) - (Contrib)
metricstransformprocessor
: Fixes a nil pointer dereference when copying an exponential histogram (#27409) - (contrib)
k8sclusterreceiver
: change k8s.container.ready, k8s.pod.phase, k8s.pod.status_reason, k8s.namespace.phase units to empty (#10553) - (Contrib)
k8sclusterreceiver
: Change k8s.node.condition* metric units to empty (#10553) - (Contrib)
syslogreceiver
: Fix issue where long tokens would be truncated prematurely (#27294) - (Core)
telemetry
: remove workaround to ignore errors when an instrument includes a/
(#8346)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.87.0-amd64
(digest:sha256:51695b9547b0fe406cfabc7d39b13eb036d09590171aee43b2a98c08a72513bb
)quay.io/signalfx/splunk-otel-collector:0.87.0-arm64
(digest:sha256:5c08b338e69b9b6543d4e3a65ec51f48daab8bedf8ddc4b60de35b8153e017bd
)quay.io/signalfx/splunk-otel-collector:0.87.0-ppc64le
(digest:sha256:16f8ed69d676b6572402e34c8cad96ba3665daac9707ff91a056491e49c37f1f
)quay.io/signalfx/splunk-otel-collector-windows:0.87.0
(digest:sha256:6481bc2fcc7a4acca9afa7d2491f7743f3aad00cd44ac14fe234b7d3f17b0010
)quay.io/signalfx/splunk-otel-collector-windows:0.87.0-2022
(digest:sha256:6ec469469c6bc40132ebac5f9141e8d310473418b232214a2ba1191438c7d0d5
)