Releases: signalfx/splunk-otel-collector
v0.125.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.125.0
and the opentelemetry-collector-contrib v0.125.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Core)
service
: Lowercase values for 'otelcol.component.kind' attributes. (#12865) - (Core)
service
: Restrict thetelemetry.newPipelineTelemetry
feature gate to metrics. (#12856, #12933)
The "off" state of this feature gate introduced a regression, where the Collector's internal logs were missing component attributes. See issue #12870 for more details on this bug.
On the other hand, the "on" state introduced an issue with the Collector's default internal metrics, because the Prometheus exporter does not currently support instrumentation scope attributes.
To solve both of these issues, this change turns on the new scope attributes for logs and traces by default regardless of the feature gate.
However, the new scope attributes for metrics stay locked behind the feature gate, and will remain off by default until the Prometheus exporter is updated to support scope attributes.
Please understand that enabling thetelemetry.newPipelineTelemetry
feature gate may break the export of Collector metrics through, depending on your configuration.
Having abatch
processor in multiple pipelines is a known trigger for this.
This comes with a breaking change, where internal logs exported through OTLP will now use instrumentation scope attributes to identify the source component instead of log attributes.
This does not affect the Collector's stderr output. See the changelog for v0.123.0 for a more detailed description of the gate's effects. - (Contrib)
receiver/k8sobjects
: Check for K8s API objects existence on receiver startup and not during config validation. (#38803) - (Contrib)
receiver/kubeletstats
: Move receiver.kubeletstats.enableCPUUsageMetrics feature gate to beta (#39487)
Deprecated metricscontainer.cpu.utilization
,k8s.pod.cpu.utilization
andk8s.node.cpu.utilization
are being replaced
bycontainer.cpu.usage
,k8s.pod.cpu.usage
andk8s.node.cpu.usage
.
To be able to use the deprecated metrics, switchreceiver.kubeletstats.enableCPUUsageMetrics
feature gate tofalse
. - (Contrib)
processor/k8sattributes
: Change processor/k8sattributes to return error if unset envvar is used fornode_from_env_var
(#39447)
Before this was a valid configuration, but had an unexpected behavior to monitor the entire cluster. | To keep the same behavior simply do not set thenode_from_env_var
value or use empty string. - (Contrib)
receiver/sqlserver
:host.name
,sqlserver.computer.name
, andsqlserver.instance.name
are now resource attributes instead of log attributes. We used to reportcomputer_name
andinstance_name
in the log attributes for top query collection and they are now deprecated. Now we report the three resources attributes in both top query collection and sample query collection. (#39449)
This change is only relevant for logs.
🚩 Deprecations 🚩
- (Contrib)
connector/spanmetrics
: Deprecate the unused configurationdimensions_cache_size
(#39646)
Deprecated configurationdimensions_cache_size
, please useaggregation_cardinality_limit
instead
💡 Enhancements 💡
- (Splunk)
auto-instrumentation
: Improve error message in case of failed .NET instrumentation installer download (#6165) - (Splunk)
auto-instrumentation
: Update NodeJS instrumentation library to v3.1.2 (#6162) - (Splunk) Update bundled OpenJDK to 11.0.27_6 (#6139)
- (Core)
mdatagen
: Add support for attributes for telemetry configuration in metadata. (#12919) - (Core)
configmiddleware
: Add extensionmiddleware interface. (#12603, #9591) - (Core)
configgrpc
: Add gRPC middleware support. (#12603, #9591) - (Core)
confighttp
: Add HTTP middleware support. (#12603, #9591, #7441) - (Core)
configmiddleware
: Add configmiddleware struct. (#12603, #9591) - (Contrib)
connector/spanmetrics
: Add newaggregation_cardinality_limit
configuration option to limit the number of unique combinations of dimensions that will be tracked for metrics aggregation. (#38990) - (Contrib)
connector/count
: Add profiles support (#39577) - (Contrib)
extension/opamp
: Introduces a new config fieldinclude_resource_attributes
which allows the extension to copy the agent's resource attributes to the non-identifying attributes in the agent description. (#37487) - (Contrib)
receiver/statsd
: Add new config to customize socket permissions when transport is set tounixgram
. (#37807) - (Contrib)
receiver/kubeletstats
: Adds support for collecting Node and Pod network IO/error metrics for all network interfaces (#30196) - (Contrib)
exporter/awss3
: add configuration fieldresource_attrs_to_s3/s3_prefix
to support mapping s3 bucket prefix to OTel resource attributes (#37858)
Ifresource_attrs_to_s3/s3_prefix
is configured, s3 prefix will be determined based on the specified resource attribute ands3uploader/s3_prefix
will serve as a fallback. - (Contrib)
exporter/splunkhec
: Use ObservedTimestamp if Timestamp is empty. (#39221) - (Contrib)
receiver/hostmetrics
: Possible to enable the process scraper under FreeBSD in the hostmetrics receiver. (#39622) - (Contrib)
receiver/kafka
: Add support for configuring Kafka consumer rebalance strategy and group instance ID (#39513)
This enhancement introduces two optional settings: group_rebalance_strategy and group_instance_id.
These allow users to override the default Range-based rebalance strategy and optionally provide a static instance ID (as per KIP-345) for cooperative sticky balancing.
This is particularly useful when handling high-cardinality metric workloads, as it reduces rebalance impact, improves cache reuse, and boosts CPU efficiency.
Both settings are optional to maintain full backward compatibility. - (Contrib)
receiver/kafka
: Added a new 'topic' attribute to all existing internal consume-claim metrics. (#35336) - (Contrib)
receiver/kafka
: Addmax_fetch_wait
config setting (#39360)
This setting allows you to specify the maximum time that the broker will wait for
min_fetch_size bytes of data to be available before sending a response to the client.
Defaults to 250ms. - (Contrib)
receiver/sqlserver
: Acceptcontext_info
withtraceparent
format in query sample collection, setting log record with correct traceId and spanId. (#39539)
🧰 Bug fixes 🧰
- (Splunk)
receiver/smartagent
: Fix the receiver failing to start by receiver_creator since 0.124.0 (#6187) - (Core)
exporterhelper
: Do not ignore thenum_consumers
setting when batching is enabled. (#12244) - (Core)
exporterhelper
: Reject elements larger than the queue capacity (#12847) - (Core)
mdatagen
: Add time and plog package imports (#12907) - (Core)
confmap
: Maintain nil values when marshaling or unmarshaling nil slices ([#11882](https://g...
v0.124.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.124.0
and the opentelemetry-collector-contrib v0.124.1 releases where appropriate.
🛑 Breaking changes 🛑
- (Contrib)
splunkenterprisereceiver
: added new attributes to the receiver and modified config (#36330) - (Contrib)
extension/headerssetter
: ChangeDefaultValue
to useconfigopaque.String
type. (#39127) - (Contrib)
splunkenterprisereceiver
: disabled default metrics except for splunkHealth to ensure scrapes run on Splunk instance are opt-in (#39068) - (Contrib)
processor/transform
: Fix Basic Config style to properly handlecache
access. (#38926)
The Transform processor now requires only one configuration style per processor's configuration, which means Advanced Config and Basic Config cannot be used together anymore. - (Contrib)
sqlserverreceiver
: update the unit ofdb.lock_timeout
attribute from millisecond to second. this attribute is part of the emitted query sample collection. (#39042)
🚩 Deprecations 🚩
- (Contrib)
kafkaexporter
: Deprecateauth::tls
and introducetls
config (#37776) - (Contrib)
kafkametricsreceiver
: Deprecateauth::tls
and introducetls
config (#37776) - (Contrib)
kafkareceiver
: Deprecateauth::tls
and introducetls
config (#37776) - (Contrib)
kafkaexporter
: deprecatetopic
andencoding
, introduce signal-specific configuration (#35432) - (Contrib)
kafkareceiver
: Add signal-specific topic and encoding config, deprecate existing topic/encoding config. (#32735)
💡 Enhancements 💡
- (Splunk) Update
splunk-otel-javaagent
to v2.15.0 (#6131) - (Splunk) Update
jmx-metric-gatherer
to v1.46.0 (#6127) - (Core)
exporterhelper
: Add support for bytes-based batching for profiles in the exporterhelper package. (#3262) - (Core)
otelcol
: Enhance config validation using command to capture all validation errors that prevents the collector from starting. (#8721) - (Core)
exporterhelper
: Link batcher context to all batched request's span contexts. (#12212, #8122) - (Contrib)
azuremonitorreceiver
: Add subscription name resource attribute (#39029) - (Contrib)
azuremonitorreceiver
: Allow to use metrics:getBatch API (Azure Monitor Metrics Data Plane) (#38651) - (Contrib)
kafkareceiver
: Propagate Kafka headers as metadata (#39129)
Allows the Kafka receiver to propagate Kafka headers as client.Info (metadata). Allowing downstream processors and exporters to access the values via the enriched context. - (Contrib)
kafkaexporter
: Propagate metadata keys as headers (#39130)
Adds a new config option specifying a list of metadata keys that should be propagated as Kafka message headers. - (Contrib)
receivercreator
: Add kafkatopicsobserver to the receivercreator configuration (#37665) - (Contrib)
kafkaexporter
: enable partitioning for all encodings (#39001, #38999)
With the exception of Jaeger encodings which have their own partitioning logic,
partitioning is now independent of the encoding used. This means that all encodings
now support partitioning. - (Contrib)
signalfxexporter
: Errors will now include the URL that it was trying to access (#39026) - (Contrib)
splunkhecexporter
: Errors will now include the URL that it was trying to access (#39026) - (Contrib)
k8sattributesprocessor
: Add option to configure automatic resource attributes - with annotation prefix (#37114)
Implements Specify resource attributes using Kubernetes annotations.
If you are using the file log receiver, you can now create the same resource attributes as traces (via OTLP) received
from an application instrumented with the OpenTelemetry Operator -
simply by adding theextract: { otel_annotations: true }
configuration to thek8sattributesprocessor
processor.
See the documentation for more details. - (Contrib)
oracledbreceiver
: Add support for parallel operations metrics (#39215)
The following metrics are now available, all disabled by default:- 'DDL statements parallelized'
- 'DML statements parallelized'
- 'Parallel operations not downgraded'
- 'Parallel operations downgraded to serial'
- 'Parallel operations downgraded (1-25%)'
- 'Parallel operations downgraded (25-50%)'
- 'Parallel operations downgraded (50-75%)'
- 'Parallel operations downgraded (75-99%)'
- (Contrib)
k8sclusterreceiver
: Add missing attributes to entities in experimental entity feature (#39038) - (Contrib)
pkg/stanza
: Use buffer pool for the read buffers to limit allocations (#39373) - (Contrib)
postgresqlreceiver
: add top query collection to help end user identify which query were executed in the postgresql database. (#39311) - (Contrib)
sqlserverreceiver
: Allow full control of the "connection string" via thedatasource
configuration option (#39235) - (Contrib)
spanmetricsconnector
: Initialise new calls_total metrics at 0 (#38537) - (Contrib)
pkg/stanza
: Remove unnecessary slice allocation to track errors (even nil) (#39367)
🧰 Bug fixes 🧰
- (Core)
confighttp
: Ensure http authentication server failures are handled by the provided error handler (#12666) - (Contrib)
metricstransformprocessor
: Fix aggregation of exponential histograms in metricstransform processor. (#39143)
Fix a panic when the number of populated buckets varies, and fix summing of counts for the Zero bucket. - (Contrib)
pkg/ottl
: Fix OTTL context inference order to prioritize thescope
context overresource
. (#39155) - (Contrib)
pkg/ottl
: Fix so replace_all_patterns can replace keys using optional function (#32896)
When using thereplace_all_patterns
withkey
andoptional
function on the replacement, the value was being replaced with the key. This change fixes that and now the key is replaced as intended. - (Contrib)
awss3exporter
: Fixes an issue where the AWS S3 Exporter was forcing an ACL to be set, leading to unexpected behavior in S3 bucket permissions (#39346)
Current behavior of the AWS S3 Exporter is to set the ACL to 'private' by default, this removes that behavior and sets no ACL if not specified. - (Contrib)
connector/spanmetrics
: This change proposes moving the start timestamp (and last seen timestamp) from the resourceMetrics level to the individual metrics level. This will ensure that each metric has its own accurate start and last seen timestamps, regardless of its relationship to other spans. (#35994) - ...
v0.123.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.123.0
and the opentelemetry-collector-contrib v0.123.0
releases where appropriate.
❗ Known Issues ❗
- This version won't collect kafka metrics with the discovery mode enabled. Will be fixed in 0.124.0.
See open-telemetry/opentelemetry-collector-contrib#39313 for more details.
🛑 Breaking changes 🛑
- (Splunk) Support for OpenSUSE 12 and CentOS 7 (tar package) has been dropped (#6073)
- (Core)
service/telemetry
: Marktelemetry.disableAddressFieldForInternalTelemetry
as beta, usage of deprecatedservice::telemetry::address
are ignored (#12756)
IMPORTANT: If you haveservice::telemetry::address
configured manually, ensure to change it to the new format:Otherwise, the Collector will not emit any internal telemetry metrics.telemetry: metrics: readers: - pull: exporter: prometheus: host: <HOST> port: <PORT> without_scope_info: true without_type_suffix: true without_units: true
To restore the previous behavior disabletelemetry.disableAddressFieldForInternalTelemetry
feature gate. - (Core)
exporterbatch
: Remove deprecated fieldsmin_size_items
andmax_size_items
from batch config. (#12684) - (Contrib)
receiver/azuremonitor
: multi subscriptions support and automatic discovery (#36612) - (Contrib)
exporter/kafka
: change default client_id to "otel-collector" (#38411)
The exporter now uses the "configkafka" package which consolidates
common configuration structures and default values. As a result of
this change, we update the default client_id value to "otel-collector". - (Contrib)
receiver/kafkametrics
: change default client_id to "otel-collector", deprecate "refresh_frequency" (#38411)
The receiver now uses the "configkafka" package which consolidates
common configuration structures and default values. As a result of
this change, we update the default client_id value to "otel-collector",
and deprecate "refresh_frequency" in favour of "metadata.refresh_interval". - (Contrib)
processor/k8sattributes
: Remove stable feature gatek8sattr.rfc3339
(#38810)
🚩 Deprecations 🚩
- (Core)
exporters
: Deprecateblocking
in favor ofblock_on_overflow
. (#12710) - (Core)
exporters
: Deprecate configuring exporter batching separately. Usesending_queue::batch
instead. (#12772)
Moving the batching configuration tosending_queue::batch
requires settingsending_queue::sizer
toitems
which means thatsending_queue::queue_size
needs to be also increased by the average batch size number (roughly
x5000 for the default batching configuration).
See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration - (Contrib)
exporter/kafka
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883) - (Contrib)
receiver/kafkametrics
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883) - (Contrib)
receiver/kafka
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883)
💡 Enhancements 💡
- (Splunk) Add discovery rule (disabled by default) for istio (#5854)
- (Core)
exporters
: Add support to configure batching in the sending queue. (#12746) - (Core)
exporters
: Add support forwait_for_result
, removedisabled_queue
(#12742) - (Core)
exporters
: Allow exporter memory queue to use different type of sizers. (#12708) - (Core)
service
: Addtelemetry.newPipelineTelemetry
feature gate to inject component-identifying attributes in internal telemetry (#12217)
With the feature gate enabled, all internal telemetry (metrics/traces/logs) will include some of
the following instrumentation scope attributes:otelcol.component.kind
otelcol.component.id
otelcol.pipeline.id
otelcol.signal
otelcol.signal.output
These attributes are defined in the Pipeline Component Telemetry RFC,
and identify the component instance from which the telemetry originates.
They are added automatically without changes to component code.
These attributes were already included in internal logs as regular log attributes, starting from
v0.120.0. For consistency with other signals, they have been switched to scope attributes (with
the exception of logs emitted to standard output), and are now enabled by the feature gate.
Please make sure that the exporter / backend endpoint you use has support for instrumentation
scope attributes before using this feature. If the internal telemetry is exported to another
Collector, a transform processor could be used to turn them into other kinds of attributes if
necessary.
- (Core)
exporters
: Enable support to do batching usingbytes
sizer (#12751) - (Core)
service
: Add config key to set metric views used for internal telemetry (#10769)
Theservice::telemetry::metrics::views
config key can now be used to explicitly set the list of
metric views used for internal telemetry, mirroringmeter_provider::views
in the SDK config.
This can be used to disable specific internal metrics, among other uses.
This key will cause an error if used alongside other features which would normally implicitly create views, such as:- not setting
service::telemetry::metrics::level
todetailed
; - enabling the
telemetry.disableHighCardinalityMetrics
feature flag.
- not setting
- (Contrib)
connector/spanmetrics
: Add instrumentation scope to span metrics connector. (#23662)
This change adds the instrumentation scope to the span metrics connector, which allows users to specify the instrumentation scope for the connector.
Now, the connector has a new configuration option:include_instrumentation_scope
: A list of instrumentation scope names to include from the traces.
The instrumentation scope name is the name of the instrumentation library that collected the span.
- (Contrib)
receiver/splunkhec
: Splunk HEC timestamp accepts nanoseconds, microseconds, milliseconds, and seconds epoch. (#36571) - (Contrib)
receiver/oracledb
: Add support for additional read/write metrics (#37814)
The following metrics are now available, all disabled by default:
'physical reads direct', 'physical writes', 'physical writes direct',
'physical read io requests' and 'physical write io requests' metrics' - (Contrib)
exporter/awss3
: Implement timeout for S3 exporter (#36264) - (Contrib)
extension/bearertokenauth
: Allow the header name to be customized in the bearerauthtoken extension (#38793) - (Contrib)
receiver/hostmetrics
: Reduced the cost of retrieving number of threads and parent process ID on Windows.
Disable the featuregatehostmetrics.process.onWindowsUseNewGetProcesses
to fallback to the previous[] implementation.
(#32947, #38589) - (Contrib)
receiver/hostmetrics
: Reduced the CPU cost of collecting theprocess.handles
metric on Windows. (#38886)
Instead of using WMI to retrieve the number of opened handles by each process
the scraper now uses the GetProcessHandleCount Win32 API which results in
reduced CPU usage when the metricprocess.handles
is enabled. - (Contrib)
pkg/ottl
: Enhance the Decode OTTL function to support all flavors of Base64 (#38854) - (Contrib)
receiver/rabbitmq
: Enhance the RabbitMQ receiver to...
v0.122.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.122.1
and the opentelemetry-collector-contrib v0.122.0
releases where appropriate.
🛑 Breaking changes 🛑
- (Core)
service
: Batch processor telemetry is no longer emitted at "basic" verbosity level (#7890)
According to the guidelines, basic-level telemetry should be reserved for core Collector APIs.
Components such as the batch processor should emit telemetry starting from the "normal" level
(which is also the default level). Migration: If your Collector telemetry was set to level:
basic and you want to keep seeing batch processor-related metrics, consider switching to level:
normal instead. - (Contrib)
deltatocumulative
: removes legacy and clean up existing metrics (#38079) - (Contrib)
sqlserverreceiver
: SQL Server receiver now requires a positive serial number for X509 certificates.
See known issues in README ofreceiver/sqlserverreceiver
for more information. (#38099)
🚀 New components 🚀
- (Splunk) Add
opamp
extension (#5999)
💡 Enhancements 💡
- (Splunk) Add a new discovery bundle for Istio metrics which includes proxy, gateway, and pilot/istiod (#5854)
- This discovery receiver, named prometheus/istio, is disabled by default. Users can enable it by setting the discovery config
splunk.discovery.receivers.prometheus/istio.enabled=true
.
- This discovery receiver, named prometheus/istio, is disabled by default. Users can enable it by setting the discovery config
- (Splunk) Update
splunk-otel-javaagent
tov2.14.0
(#6000) - (Splunk) Update
jmx-metric-gatherer
tov1.45.0
(#5995) - (Splunk) Use direct connection for MongoDB discovery (#6042)
- (Core)
service
: Addservice.AllowNoPipelines
feature gate to allow starting
the Collector without pipelines. This can be used to start with only extensions.(#12613) - (Core)
service
: include component id/type in start error (#10426) - (Core)
confmap
: Introduce a new feature flag to allow for merging lists instead of discarding the existing ones.
You can enable this option via the command line by running following command:
otelcol --config=main.yaml --config=extra_config.yaml --feature-gates=-confmap.enableMergeAppendOption
(#8394)
(#8754)
(#10370) - (Contrib)
splunkhecreceiver
: splunk hec receiver accepts metrics with empty string Event field (#38464) - (Contrib)
sqlserverreceiver
: Add new performance-related metrics (#37884) - (Contrib)
hostmetricsreceiver
: Added the system.linux.memory.dirty and system.memory.page_size metrics. (#38672) - (Contrib)
mongodbreceiver
: Added new mongodb metrics to achieve parity with Telegraf (#37227) - (Contrib)
routingconnector
: Adds Standard Converter functions to routing connector. (#38282) - (Contrib)
azuremonitorreceiver
: Adds filtering by metric and/or aggregation (#37420) - (Contrib)
headerssetterextension
: Add support for setting headers based on authentication data (#38441) - (Contrib)
collectdreceiver
: apply fieldalignment to collectd records to reduce memory allocation (#37321) - (Contrib)
pkg/ottl
: Enhance flatten() editor to resolve attribute key conflicts by adding a number suffix to the conflicting keys. (#35793) - (Contrib)
loadbalancingexporter
: Add support for route with composite keys (#35320) - (Contrib)
kafkaexporter
: do not ask for user and password if auth mechanism is set to AWS IAM (#37417) - (Contrib)
bearertokenauthextension
: Add the ability to configure multiple bearer tokens for the same endpoint. (#38148) - (Contrib)
pkg/ottl
: AddIsValidLuhn()
checksum verification function (#37880) - (Contrib)
pkg/ottl
: Add ability to compare maps in Boolean Expressions (#38611) - (Contrib)
pkg/ottl
: AddMurmur3Hash
andMurmur3Hash128
functions to convert thetarget
string to Murmur3 hash in hexadecimal string format (#34077) - (Contrib)
prometheusreceiver
: Adds the Prometheus API server to more easily debug the Prometheus config, service discovery, and targets. (#32646) - (Contrib)
rabbitmqreceiver
: Enhance the RabbitMQ receiver to collect and report node-level metrics (rabbitmq.node.disk_free
,rabbitmq.node.fd_used
,rabbitmq.node.mem_limit
, andrabbitmq.node.mem_used
). This provides additional observability into the state and resource usage of RabbitMQ nodes. (#36925) - (Contrib)
redactionprocessor
: Support hashing instead of masking values via 'hash_function' parameter (#35830) - (Contrib)
pkg/stanza
: Add 'regex_replace' operator (#37443) - (Contrib)
jaegerreceiver
: Remove dependency on jaeger/cmd/agent (#38655) - (Contrib)
resourceprocessor
: Add support for profiles signal type (#37513) - (Contrib)
azuremonitorreceiver
: Add dimensions.enabled and dimensions.overrides which allows to opt out from automatically split by all the dimensions of the resource type (#36611) - (Contrib)
sqlqueryreceiver
: Allow users to specify the maximum number of concurrent open connections to DB server usingmax_open_conn
config parameter (#36752) - (Contrib)
pkg/stanza
: Prevent data loss in Stanza-based receivers on ungraceful shutdown of the collector (#35456)
Enable thestanza.synchronousLogEmitter
feature gate to unlock this feature.
See the documentation for more information.
🧰 Bug fixes 🧰
- (Splunk)
deployment/databricks
: Ensurecurl
commands are properly redirected (#6047) - (Core)
service
: do not attempt to register process metrics if they are disabled (#12098) - (Contrib)
filelogreceiver
: Extend container parser log file path pattern to include rotated files. (#35137) - (Contrib)
mysqlreceiver
: Fixed issue where the system attempted to convert string value '0.0000' (stored as []uint8) to int64 type, which was causing an invalid syntax error. (#38276) - (Contrib)
attributesprocessor
: Validate metrics configuration parameters before processing (#36077) - (Contrib)
probabilisticsampler
: Logs priority sampling behavior applies only when the priority attribute is present. (#38468) - (Contrib)
pkg/ottl
: Fix limitation of map literals within slice literals not being handled correctly (#37405)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.122.0
- digest:
sha256:134db8fdfc45bb60557a1566a24ac1ea8b9da7dc5dd0b32b7751d19b9b455116
- Windows (2019 amd64, 2022 amd64):
- `quay.io/signalfx/splunk-otel-co...
v0.121.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.121.0 and the opentelemetry-collector-contrib v0.121.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Support for Oracle Linux 7 has been dropped (#5974)
- (Core)
confighttp
: Make the client config optionsmax_idle_conns
,max_idle_conns_per_host
,max_conns_per_host
, andidle_conn_timeout
integers (#9478)
All four options can be set to0
where they were previously set tonull
- (Contrib)
awss3exporter
: Replaced thes3_partition
option withs3_partition_format
to provide more flexibility to users. (#37915, #37503)
Users can provide custom file partitions using strftime formatting.
The default value ofyear=%Y/month=%m/day=%d/hour=%H/minute=%M
matches the older pattern (withs3_partition: minute
)
If users do not provide a value fors3_prefix
, the exporter will not create a/
folder in the bucket. - (Contrib)
processor/k8sattributes
: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to stable (#25128) - (Contrib)
signalfxexporter
: Remove the deprecated configuration optiontranslation_rules
(#35332)
Please use processors to handle desired metric transformations instead. Find migration guidance in the
translation rules migration guide.
🚩 Deprecations 🚩
- (Core)
exporterhelper
: Deprecatemin_size_items
andmax_size_items
in favor ofmin_size
andmax_size
. (#12486) - (Contrib)
prometheusreceiver
: Deprecate metric start time adjustment in the prometheus receiver. It is being replaced by the metricstarttime processor. (#37186)
Start time adjustment is still enabled by default. To disable it, enable the | receiver.prometheusreceiver.RemoveStartTimeAdjustment feature gate.
💡 Enhancements 💡
- (Core)
pipeline
: output pipeline name with signal as signal[/name] format in logs. (#12410) - (Core)
memorylimiter
: Add support to configure min GC intervals for soft and hard limits. (#12450) - (Core)
otlpexporter
: Update the stability level for logs, it has been as stable as traces and metrics for some time. (#12423) - (Core)
service
: Create a new subcommand to dump the initial configuration after resolving/merging. (#11479)
To use theprint-initial-config
subcommand, invoke the Collector with the subcommand and corresponding feature gate:otelcol print-initial-config --feature-gates=otelcol.printInitialConfig --config=config.yaml
.
Note that the feature gate enabling this flag is currently in alpha stability, and the subcommand may
be changed in the future. - (Core)
memorylimiterprocessor
: Add support for profiles. (#12453) - (Core)
otelcol
: Converters are now available in thecomponents
command. (#11900, #12385) - (Core)
confmap
: Surface YAML parsing errors when they happen at the top-level. (#12180)
This adds context to some instances of the error "retrieved value (type=string) cannot be used as a Conf", which typically happens because of invalid YAML documents - (Core)
pprofile
: Add LinkIndex attribute to the generated Sample type (#12485) - (Core)
exporterhelper
: Stabilize exporter.UsePullingBasedExporterQueueBatcher and remove old batch sender (#12425) - (Contrib)
processor/resourcedetection
: Introduce retry logic for failed resource detection. (#34761) - (Contrib)
pkg/ottl
: Support dynamic indexing of math expressions in maps and slices (#37644) - (Contrib)
receiver/sqlquery
: Add support for SapASE (sybase) database connections (#36328) - (Contrib)
iisreceiver
: Added state and uptime metrics for application pools (#34924) - (Contrib)
pkg/stanza
: Add entry's timestamp and attributes to errors logs from log transformers processors (#37285)
When a log transformer processor fails to process an log entry it will include entry's timestamp and attributes in its own logs.
With this information the user can more easily identify the log file and find the entry that's having issues. - (Contrib)
kafkareceiver
: Add error backoff configuration to kafka receiver which allows to wait and retry a failed message when the next consumer returns some errors. (#37009) - (Contrib)
receiver/kafkametricsreceiver
: Addrefresh_frequency
config tokafkametricsreceiver
, to configure custom duration for cluster metadata refresh (#37896)- Helps fine tuning the refresh_frequency, and enables custom cluster metadata refresh intervals
- Default refresh_frequency is set 10 minutes from Sarama library defaults
- (Contrib)
processor/resourcedetection
: Add k8s.cluster.uid to kubeadm detector (#38207) - (Contrib)
mongodbreceiver
: Added mongodb replica metrics and routing logic for multiple mongodb instances (#37517) - (Contrib)
pkg/ottl
: Addevent_index
to the available paths of the span event context (#35778) - (Contrib)
pkg/ottl
: Introduce Weekday() converter function (#38126) - (Contrib)
prometheusreceiver
: Make use of creation timestamp from prometheus (#36473) - (Contrib)
processor/redaction
: Introduce 'blocked_key_patterns' parameter (#35830) - (Contrib)
awss3exporter
: Addedacl
option (#37935) - (Contrib)
receiver/sqlserverreceiver
: Addserver.address
andserver.port
resource attributes to SQL server receiver. (#35183)
The new resource attributes are added to the SQL server receiver to distinguish metrics coming from different SQL server instances.- (Contrib)
server.address
: The address of the SQL server host, disabled by default. - (Contrib)
server.port
: The port of the SQL server host, disabled by default.
- (Contrib)
🧰 Bug fixes 🧰
- (Core)
service
: Fix crash at startup when converting from v0.2.0 to v0.3.0 (#12438) - (Core)
service
: fix bug in parsing service::telemetry configuration (#12437) - (Core)
exporterhelper
: Fix bug where the error logged when conversion of data fails is always nil (#12510) - (Contrib)
ecsobserver
: Fixed ecs task tags not being included in metadata labels (#38278) - (Contrib)
redactionprocessor
: Fix redaction processor to redact span event attributes (#36633) - (Contrib)
azuremonitorreceiver
: Fix bug where the time grain wasn't honored (#37337) - (Contrib)
exporter/splunk_hec
: Do not pass errors from draining the response body to the pipeline as a export failure. (#38118) - (Contrib)
kafkametricsreceiver
: Fix incorrect cluster admin initialization in consumer scraper (#36818) - (Contrib)
pkg/ottl
: Change the `ottlmetr...
v0.120.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.120.0 and the opentelemetry-collector-contrib v0.120.1 releases where appropriate.
🛑 Breaking changes 🛑
-
(Contrib)
receiver/prometheus
: Prometheus receiver now uses scrapers in Prometheus 3.0. (#36873)
There are a number of breaking changes in Prometheus 3.0. Learn more about those changes and migration guide on https://prometheus.io/docs/prometheus/latest/migration/.
As a result of adding support for UTF-8 names,
the metrics and labels containing UTF-8 characters are no longer escaped. Consequently, the dots (.) in internal
collector metrics and resource attributes scraped by Prometheus are no longer replaced with underscores (_).- The
service_name
,service_instance_id
, andservice_version
resource attributes are now scraped as
service.name
,service.instance.id
, andservice.version
, respectively. - The following metrics containing dots reported by several components are no longer escaped:
filter
processor:processor_filter_datapoints_filtered
->processor_filter_datapoints.filtered
processor_filter_logs_filtered
->processor_filter_logs.filtered
processor_filter_spans_filtered
->processor_filter_spans.filtered
deltatocumulative
processor:deltatocumulative_streams_tracked
->deltatocumulative.streams.tracked
deltatocumulative_streams_tracked_linear
->deltatocumulative.streams.tracked.linear
deltatocumulative_streams_limit
->deltatocumulative.streams.limit
deltatocumulative_streams_evicted
->deltatocumulative.streams.evicted
deltatocumulative_streams_max_stale
->deltatocumulative.streams.max_stale
deltatocumulative_datapoints_processed
->deltatocumulative.datapoints.processed
deltatocumulative_datapoints_dropped
->deltatocumulative.datapoints.dropped
deltatocumulative_datapoints_linear
->deltatocumulative.datapoints.linear
deltatocumulative_gaps_length
->deltatocumulative.gaps.length
googlecloudpubsub
receiver:receiver_googlecloudpubsub_stream_restarts
->receiver.googlecloudpubsub.stream_restarts
- The
-
(Contrib)
activedirectorydsreceiver
: Fixed typo in the attributedistingushed_names
, renaming it todistinguished_names
. (#37606) -
(Contrib)
receiver/hostmetrics
: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate (#34763) -
(Contrib)
tailsamplingprocessor
: Fix the decision timer metric to capture longer latencies beyond 50ms. (#37722)
This changes the unit of the decision timer metric from microseconds to milliseconds. -
(Contrib)
routingconnector
: Removematch_once
configuration parameter. (#36824) -
(Core)
service
: Align component logger attributes with those defined in RFC (#12217)
See Pipeline Component Telemetry RFC
💡 Enhancements 💡
- (Splunk) Make Windows TA agnostic to Powershell ExecutionPolicy (#5935)
- (Contrib)
processor/transformprocessor
: Add support for global conditions and error mode overrides. (#29017)
Global conditions are now available for context-inferred structured configurations, allowing the use of fully
qualified paths. Additionally, a new configuration key callederror_mode
has been added to the context statements group.
This key determines how the processor reacts to errors that occur while processing that specific group of statements.
When provided, it overrides the top-level error mode, offering more granular control over error handling. - (Contrib)
pkg/stanza
: Allow users to configure initial buffer size (#37786) - (Contrib)
vcenterreceiver
: Adds three more vCenter virtual machine performance metrics (#37488) - (Contrib)
k8sclusterreceiver
: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. (#37580)- Adds the following attributes to k8s.namespace entity:
- k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating'
- k8s.namespace.creation_timestamp: The time when the namespace object was created.
- Adds the following attributes to container entity:
- container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state.
- Adds the following attributes to k8s.namespace entity:
- (Contrib)
splunkenterprisereceiver
: Added a newsplunk.health
metric. (#36695) - (Contrib)
resourcedetectionprocessor
: add the Dynatrace detector to the resource detection processor (#37577) - (Contrib)
extension/oauth2clientauth
: Addexpiry_buffer
config tooauth2client
extension, allowing token refresh before expiration with a default buffer of 5 minutes. (#35148)- Prevents authentication failures by refreshing the token early.
- The default expiry buffer is set to 5 minutes, and users can adjust it as needed.
- (Contrib)
googlecloudpubsubreceiver
: Turn noisywarn
log about Pub/Sub servers intodebug
, and turn the reset count into a metric (#37571)
The receiver uses the Google Cloud Pub/Sub StreamingPull API and keeps a open connection. The Pub/Sub servers
recurrently close the connection after a time period to avoid a long-running sticky connection. Before the
receiver loggedwarn
log lines everytime this happened. These log lines are moved to debug so that fleets with
lots of collectors with the receiver don't span logs at warn level. To keep track of the resets, whenever a
connection reset happens aotelcol_receiver_googlecloudpubsub_stream_restarts
metric is increased by one. - (Contrib)
processor/redaction
: Introduce 'allowed_values' parameter for allowed values of attributes (#35840) - (Contrib)
routingconnector
: Avoid unnecessary copy of the data in routing connector (#37946) - (Contrib)
awscontainerinsightreceiver
: Add support for HOST_PROC environment variable in AWS Container Insight Receiver. (#35862) - (Contrib)
syslogreceiver
: Support settingon_error
config for syslog receiver. (#36906) - (Contrib)
processor/tailsampling
: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision.
This functionality is disabled by default, you can enable it by passing the following feature flag to the collector:+processor.tailsamplingprocessor.recordpolicy
(#35180) - (Contrib)
tailsamplingprocessor
: makes thenumeric_attribute
more flexible and allows to set onlymin_value
ormax_value
, without the need to set both (#37328)
This is useful to have simple configurations like these:{ type: numeric_attribute, numeric_attribute: { key: http.status_code, min_value: 400 } }
- (Core)
otlpreceiver
: Update stability for logs (#12335) - (Core)
exporterhelper
: Implement sync disabled queue used when batching is enabled. (#12245) - (Core)
exporterhelper
: Enable the new pull-based batcher in exporterhelper (#12291) - (Core)
exporterhelper
: Update queue size after the element is done exported (#12399)
After this change the active queue size will include elements in the process of being exported. - (Core)
otelcol
: Add featuregate command to display information about available features (#11998)
The featuregate command allows users to view detailed information about feature gates
including their status, stage, and description.
🧰 Bug fixes 🧰
- (Contrib) `...
v0.119.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.119.0 and the opentelemetry-collector-contrib v0.119.0 releases where appropriate.
🚩 Deprecations 🚩
- (Contrib)
signalfxreceiver
:access_token_passthrough
is deprecated (#37575)
Please useinclude_metadata
in the receiver instead and add the following config to the batch processor:batch: metadata_keys: [X-Sf-Token]
🛑 Breaking changes 🛑
- (Splunk) Deprecated ASP.NET and .NET SignalFx monitors are removed (#5868)
- (Core)
exporters
: Rename exporter span signal specific attributes (e.g. "sent_spans" / "send_failed_span") to "items.sent" / "items.failed". (#12165) - (Core)
exporters
: Change exporter ID to be a Span level attribute instead on each event. (#12164)
💡 Enhancements 💡
- (Core)
configtls
: Allow users to mention their preferred curve types for ECDHE handshake (#12174) - (Contrib)
processor/transformprocessor
: Add support for flat configuration style. (#29017)
The flat configuration style allows users to configure statements by providing a list of statements instead of a
structured configuration map. The statement's context is expressed by adding the context's name prefix to path names,
which are used to infer and to select the appropriate context for the statement. - (Contrib)
receiver/httpcheck
: Added support for specifying multiple endpoints in thehttpcheckreceiver
using theendpoints
field. Users can now monitor multiple URLs with a single configuration block, improving flexibility and reducing redundancy. (#37121) - (Contrib)
processor/resourcedetection
: Expose additional configuration parameters for the AWS metadata client used by the EC2 detector (#35936)
In some cases, you might need to change the behavior of the AWS metadata client from the standard retryer
By default, the client retries 3 times with a max backoff delay of 20s.
We offer a limited set of options to override those defaults specifically, such that you can set the client to retry 10 times, for up to 5 minutes, for example:processors: resourcedetection/ec2: detectors: ["ec2"] ec2: max_attempts: 10 max_backoff: 5m
- (Contrib)
processor/cumulativetodelta
: Add metric type filter for cumulativetodelta processor (#33673) - (Contrib)
processor/resourcedetection
: Addfail_on_missing_metadata
option on EC2 detector (#35936)
If the EC2 metadata endpoint is unavailable, the EC2 detector by default ignores the error.
By settingfail_on_missing_metadata
to true on the detector, the user will now trigger an error explicitly,
which will stop the collector from starting. - (Contrib)
processor/resourcedetection
: Thegcp
resource detector will now detect resource attributes identifying a GCE instance's managed instance group. (#36142) - (Contrib)
receiver/jaeger
: Log the endpoints of different servers started by jaegerreceiver (#36961)
This change logs the endpoints of different servers started by jaegerreceiver. It simplifies debugging by ensuring log messages match configuration settings. - (Contrib)
receiver/hostmetrics/process
: Added support for tracking process.uptime (#36667) - (Contrib)
receiver/googlecloudpubsub
: Added support for encoding extensions. (#37109) - (Contrib)
processor/transform
: Replace parser collection implementations withottl.ParserCollection
and add initial support for expressing statement's context via path names. (#29017) - (Contrib)
receiver/prometheus
: Addreceiver.prometheusreceiver.UseCollectorStartTimeFallback
featuregate for the start time metric adjuster to use the collector start time as an approximation of process start time as a fallback. (#36364) - (Contrib)
processor/tailsampling
: Reworked the consume traces, sampling decision, and policy loading paths to improve performance and readability (#37560)
🧰 Bug fixes 🧰
- (Core)
exporters
: Fix bug that the exporter with new batcher may have been marked as non mutation. (#12239)
Only affects users that manually turned onexporter.UsePullingBasedExporterQueueBatcher
featuregate. - (Core)
exporters
: Fix MergeSplit issue that ignores the initial message size. (#12257) - (Core)
service-telemetry
: pass the missing async error channel into service telemetry settings (#11417) - (Contrib)
receiver/filelog
: Fix issue where flushed tokens could be truncated. (#35042) - (Contrib)
connector/routing
: Fix config validation with context other thanresource
(#37410) - (Contrib)
processor/k8sattributes
: Wait for the other informers to complete their initial sync before starting the pod informers (#37056) - (Contrib)
processor/metricsgeneration
: Generated metric name may not match metric being scaled (#37474) - (Contrib)
connector/routing
: The connector splits the original payload so that it may be emitted in parts to each route. (#37390) - (Contrib)
pkg/stanza
: Fix default source identifier in recombine operator (#37210)
Its default value is now aligned with the semantic conventions:attributes["log.file.path"]
- (Contrib)
processor/tailsampling
: Fixed sampling decision metricsotelcol_processor_tail_sampling_sampling_trace_dropped_too_early
andotelcol_processor_tail_sampling_sampling_policy_evaluation_error_total
, these were sometimes overcounted. (#37212)
As a result of this change non-zero values ofotelcol_processor_tail_sampling_sampling_trace_dropped_too_early
andotelcol_processor_tail_sampling_sampling_policy_evaluation_error_total
metrics will be lower.
Before this fix, errors got counted several times depending on the amount of traces being processed
that tick and where in the batch the error happened.
Zero values are unaffected. - (Contrib)
exporter/signalfx
: Warn on dropping metric data points when they have more than allowed dimension count (#37484)
The SignalFx exporter drops metric data points if they have more than 36 dimensions.
Currently, the exporter logs at debug level when this occurs.
With this change, the exporter will log at the warning level.
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.119.0
- digest:
sha256:2cd525f1e24a461a08beb2f853181c817e70ed53e92932d3bdac213f2449f202
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.119.0
- digest:
sha256:8bc28dd946efc310b67aabf5338a3b5aa89d10a1b23d6f22a5fcc04a1117eb8f
v0.118.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.118.0 and the opentelemetry-collector-contrib v0.118.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Stop supporting deprecated syntax for config source expansion (#5832)
Use the following guidelines to update your configuration:$ENV
must be replaced with${env:ENV}
$include:file_path
must be replaced with${include:file_path}
. The same applied for any other config source.
More information can be found in (the upgrade guidelines).
- (Contrib)
pkg/stanza
: Movefilelog.container.removeOriginalTimeField
feature gate to stable (#33389) - (Contrib)
pkg/ottl
: Support dynamic indexing of maps and slices. (#36644) - (Contrib)
routingconnector
: Disconnectmatch_once
parameter from functionality. (#29882)
The parameter will be ignored, except to trigger a warning log about its upcoming removal in v0.120.0.
💡 Enhancements 💡
- (Splunk) Turn on
splunk.continuousDiscovery
feature gate by default (#5833)
This enables new way to discover third-party components and collect metrics from them:- It allows discovering services that were not available at the time of the collector startup but were started later.
- Information about discovered services will be sent to Splunk Observability Cloud that can be found in "Discovered services" page.
If you want to disable this feature and bring back the old behavior, add--feature-gates=-splunk.continuousDiscovery
command line flag.
- (Contrib)
mysqlreceiver
: Add delete_multi, update_multi metrics to mysql.commands for mysqlreceiver (#37301) - (Contrib)
pkg/ottl
: Add theNanosecond
converter to return the nanosecond component from the specified time.Time (#37042) - (Contrib)
pkg/ottl
: Add theSecond
converter to return the second component from the specified time.Time (#37042) - (Contrib)
vcenterreceiver
: Adds vCenter memory capacity for hosts and memory granted metric for VMs. (#37257) - (Contrib)
awss3exporter
: Implement sending queue for S3 exporter (#37274, #36264) - (Contrib)
resourcedetectionprocessor
: This enhancement detects AWS EKS cloud account ID (#37179) - (Contrib)
k8sattributesprocessor
: For pods with only one container, thecontainer.id
andk8s.container.name
are not longer required in the resource attributes to add the container attributes (#34189) - (Contrib)
pkg/ottl
: Enhanced error messages for invalid cache access and introduced options to configure their values within the OTTL contexts. (#29017) - (Contrib)
pkg/ottl
: Add theFormatTime
function to converttime.Time
values to human-readable strings (#36870) - (Contrib)
resourcedetectionprocessor
: Introduce kubeadm detector to retrieve local cluster name. (#35116) - (Contrib)
signalfxexporter
: Prioritize retrieving token from context when accesstokenpassthrough is enabled (#37102) - (Core)
exporterhelper
: Add blocking option to control queue behavior when full (#12090) - (Core)
debugexporter
: Add EventName to debug exporter for Logs. EventName was added as top-level field in the LogRecord from 1.5.0 of proto definition. (#11966) - (Core)
confighttp
: Added support for configuring compression levels. (#10467)
A new configuration option called CompressionParams has been added to confighttp. | This allows users to configure the compression levels for the confighttp client. - (Core)
exporterhelper
: Change the memory queue implementation to not pre-allocate capacity objects. (#12070)
This change improves memory usage of the collector under low utilization and is a prerequisite for supporting different other size limitations (number of items, bytes).
🧰 Bug fixes 🧰
- (Contrib)
googlecloudpubsubreceiver
: Fix a goroutine leak during shutdown. (#30438)
A goroutine leak was found in the googlecloudpubsubreceiver.
The goroutine leak was caused by the receiver not closing the underlying created gRPC client when using an insecure custom endpoint. - (Contrib)
signalfxexporter
: Honor access_token_passthrough config option for sending events (#37102) - (Contrib)
k8sattributesprocessor
: Ensure the pods gathered by the processor contain the information about their related replica sets and deployments after the initial sync (#37056) - (Contrib)
pkg/ottl
: Fix bug withreplace_all_matches
andreplace_all_patterns
that caused non-string values to be changed to empty string when matching against empty string. (#37071) - (Contrib)
tailsamplingprocessor
: Fixed sampling policy evaluation debug logging batch metrics (e.g. sampled). (#37040) - (Contrib)
tailsamplingprocessor
: Late span age histogram should include sampled traces. (#37180)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.118.0
- digest:
sha256:76eda47c813540a5ac4ab70abbd0e780a23f11f9fd308d2ec5a9c113529ce54f
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.118.0
- digest:
sha256:ac1de2a46c8108845ebefb90b48714387bd6237de0ed10b3e3765eeeb516a3c4
v0.117.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.117.0 and the opentelemetry-collector-contrib v0.117.0 releases where appropriate.
⚠️ Known issues ⚠️
The sh
executable that ships as part of the Docker image of the collector is corrupted in this release.
🛑 Breaking changes 🛑
- (Contrib)
cloudfoundryreceiver
: Introduce a feature gate enable copying envelope tags to the metrics as resource attributes instead of datapoint attributes. (#34824) - (Contrib)
pkg/ottl
: removed the ability to reference entire parent objects. (#36872)
Statements likeset(cache["resource"], resource)
in non-resource contexts will no longer work. - (Contrib)
routingconnector
: Change default value ofmatch_once
parameter totrue
. (#29882)
This field was deprecated in v0.116.0 and will be removed in v0.120.0. - (Core)
otelcol
: Remove warnings when 0.0.0.0 is used (#11713, #8510)
🚩 Deprecations 🚩
- (Contrib)
sapmexporter
: Deprecate SAPM exporter (#36028)
The SAPM exporter is being marked as deprecated. Please use theotlphttp
exporter with the configuration shown
below. Also update your pipeline configuration for Traces accordingly.exporters: otlphttp: traces_endpoint: "${SPLUNK_INGEST_URL}/v2/trace/otlp" headers: "X-SF-Token": "${SPLUNK_ACCESS_TOKEN}"
🚀 New components 🚀
- (Splunk) Add
metricsgeneration
processor (#5769)
💡 Enhancements 💡
- (Splunk) Add a new discovery bundle for Envoy proxy metrics (#5780)
- (Contrib)
k8sclusterreceiver
: Add additional attributes to node and pod entities (#35879)
Adds the following attributes to node and pod metadata/entities:k8s.pod.phase
: The phase of a Pod indicates where the Pod is in its lifecycle. E.g. 'Pending', 'Running'k8s.pod.status_reason
: A brief message indicating details about why the pod is in this state. E.g. 'Evicted'k8s.node.condition_*
: The condition of a node. e.g.k8s.node.condition_ready
. The value can betrue
,false
,unknown
.
- (Contrib)
receivercreator
: Add support for starting logs' collection based on provided k8s annotations' hints (#34427) - (Contrib)
ottl
: Add a new ottl trim function that trims leading and trailing characters from a string (default- whitespace). (#34100) - (Contrib)
sqlqueryreceiver
: Add instrumentation scope to SQL query receiver metrics and logs (#31028) - (Contrib)
statsdreceiver
: Add UDS support to statsdreceiver (#21385) - (Contrib)
tailsamplingprocessor
: Support hot sampling policy loading (#37014)
🧰 Bug fixes 🧰
- (Splunk) Fix deprecation warning for multiline config source calls (#5829)
- (Contrib)
receiver/azureeventhub
: Ensure that observed timestamp is set when unmarshaling logs. (#36861) - (Contrib)
internal/docker
: Fix image matching regular expression to properly match SHA256 strings. (#36239)
This affects thedocker_observer
extension. - (Contrib)
k8sobjectsreceiver
: ensure thek8s.namespace.name
attribute is set for objects retrieved using thewatch
mode (#36352) - (Contrib)
mongodbatlasreceiver
: Update the mongoDB Atlas receiver to use the Default HTTP Transport that supports default proxy configuration (#36412) - (Contrib)
mysqlreceiver
: Avoid recording a value for the MysqlBufferPoolPages metric when out-of-bounds. (#35495)
When using compressed tables, Innodb_buffer_pool_pages_misc may report an out-of-bounds value.
See https://bugs.mysql.com/bug.php?id=59550 for context. - (Contrib)
pkg/ottl
: fix handling of nested maps within slices in theflatten
function (#36162) - (Contrib)
mysqlreceiver
: Divide large values directly in SQL queries to avoid int overflows (#35495) - (Core)
internal/sharedcomponent
: Fixed bug where sharedcomponent would use too much memory remembering all the previously reported statuses (#11826)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.117.0
- digest:
sha256:c07c949d244685030ad8ccd96bc8137b3d229a81e9dafc27c4f2e349e42d3cbb
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.117.0
- digest:
sha256:5b3df3fe83340b7f469d37cecd9ecd92805e97b09e28810547ddddfbf651156c
v0.116.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.116.0 and the opentelemetry-collector-contrib v0.116.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Contrib)
processor/tailsampling
: Reverts #33671, allowing for composite policies to specify inverted clauses in conjunction with other policies. This is a change bringing the previous state into place, breaking users who rely on what was introduced as part of #33671. (#34085)
🚀 New components 🚀
- (Splunk) Add
bearertokenauth
extension (#5727) - (Splunk) Add
snowflake
receiver (#5724) - (Splunk) Add
purefa
receiver (#5731) - (Splunk) Add
sum
connector (#5730 )
🚩 Deprecations 🚩
- (Contrib)
connector/routing
: Deprecatematch_once
parameter. (#29882) - (Contrib)
routingprocessor
: Deprecated in favor of the routing connector. (#36616) - (Contrib)
splunkhecexporter
: Addotel_attrs_to_hec_metadata/*
config fields to replacehec_metadata_to_otel_attrs/*
fields. (#35092)
otel_attrs_to_hec_metadata/*
config fields will replace thehec_metadata_to_otel_attrs/*
fields in a later release.
💡 Enhancements 💡
- (Contrib)
purefareceiver
: Implements support for scraping Pure Storage FlashArray with Purity version 6.6.11+ (#36251) - (Contrib)
azureeventhubreceiver
: support providing one or more time formats for timestamp parsing (#36650) - (Contrib)
fileexporter
: Add support for profiles signal. (#35978) - (Contrib)
pkg/ottl
: GetXML Converter now supports selecting text, CDATA, and attribute (value) content. (#36821) - (Contrib)
kafkaexporter, kafkareceiver
: Add a new mechanism "AWS_MSK_IAM_OAUTHBEARER" for kafka exporter and kafka receiver. This mechanism use the AWS MSK IAM SASL Signer for Go https://github.com/aws/aws-msk-iam-sasl-signer-go. (#19747) - (Contrib)
loadbalancingexporter
: Adds a an optional configuration to the k8s resolver which returns hostnames instead of IPs for headless services pointing at statefulsets (#18412) - (Contrib)
mongodbatlasreceiver
: Adds additional metrics to the MongoDB Atlas receiver (#36525)
Adds a number of new default disabled metrics to the MongoDB Atlas receiver. These metrics are:- mongodbatlas.disk.partition.queue.depth
- mongodbatlas.disk.partition.throughput
- mongodbatlas.process.cache.ratio
- (Contrib)
s3exporter
: Upgrading to adopt aws sdk v2 (#36699)
🧰 Bug fixes 🧰
- (Core)
exporterhelper
: Fix memory leak at exporter shutdown (#11401) - (Core)
sharedcomponent
: Remove race-condition and cleanup locking (#11819) - (Contrib)
receiver/prometheusreceiver
: Metric adjuster no longer assumes that all metrics from a scrape come from the same resource (#36477) - (Contrib)
k8sattributesprocessor
: Override extracted k8s attributes if original value has been empty (#36373) - (Contrib)
k8sattributesprocessor
: Log any errors encountered during kube client initialisation (#35879)
This addresses an issue where the collector, due to an error encountered during the kubernetes client initialisation,
was reporting an 'unavailable' status via the health check extension without any further information to be found in the logs. - (Contrib)
postgresqlreceiver
: Update the postgresqlreceiver to handle new table schema for the bgwriter metrics in pg17+ (#36784) - (Contrib)
jaegerreceiver
: Remove ineffectual warning from jaegerreceiver (#35894)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.116.0
- digest:
sha256:375ed345d09d7b6c984e002a70f5f8f9881ffd250ca10fb519ac506e8a229bf0
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.116.0
- digest:
sha256:3aa04423420c06868802c55c0a113a9e749500d377b821e2552cc5aad6f6075c