π Breaking changes π
- (Splunk) Update Python to 3.12.5 in the Smart Agent bundle for Linux and Windows. Check Whatβs New In Python 3.12 for details. (#5298)
- (Contrib)
spanmetricsconnector
: Improve consistency between metrics generated by spanmetricsconnector. Added traces.span.metrics as default namespace (#33227
Default namespace for the generated metrics is traces.span.metrics now. | The deprecated metrics are: calls, duration and events. | The feature flag connector.spanmetrics.legacyLatencyMetricNames was added to revert the behavior. - (Contrib)
ottl
: Remove tracing from OTTL due to performance concerns (#34910
π New components π
π‘ Enhancements π‘
- (Splunk) Apache Web Server Auto Discovery: set the default discovered endpoint to match the OpenTelemetry
apachereceiver
default:http://
endpoint/server-status?auto
(#5353)
If the collector is running as a process on the host OS and the Apache Web Server is in a Docker container add--set=splunk.discovery.extensions.docker_observer.config.use_host_bindings=true
to the command-line arguments for the discovery to create the correct endpoint. - (Splunk) Introduce continuous service discovery mode. This mode can be enabled with a feature gate by adding
--feature-gates=splunk.continuousDiscovery
command line argument. (#5363)
The new mode does the following:- It allows discovering new services that were not available at the time of the collector startup. If discovery is
successful, the metrics collection will be started. - Information about discovered services is being sent to Splunk Observability Cloud. The information will include
instructions to complete discovery for particular services if the discovery was not successful out of the box.
- It allows discovering new services that were not available at the time of the collector startup. If discovery is
- (Core)
service
: moveuseOtelWithSDKConfigurationForInternalTelemetry
gate to beta (#11091) - (Core)
service
: implement a no-op tracer provider that doesn't propagate the context (#11026)
The no-op tracer provider supported by the SDK incurs a memory cost of propagating the context no matter
what. This is not needed if tracing is not enabled in the Collector. This implementation of the no-op tracer
provider removes the need to allocate memory when tracing is disabled. - (Core)
processor
: Add incoming and outgoing counts for processors using processorhelper. (#10910)
Any processor using the processorhelper package (this is most processors) will automatically report
incoming and outgoing item counts. The new metrics are:- otelcol_processor_incoming_spans
- otelcol_processor_outgoing_spans
- otelcol_processor_incoming_metric_points
- otelcol_processor_outgoing_metric_points
- otelcol_processor_incoming_log_records
- otelcol_processor_outgoing_log_records
- (Contrib)
pkg/ottl
: Added Decode() converter function (#32493 - (Contrib)
filestorage
: Add directory validation for compaction on-rebound (#35114 - (Contrib)
windowseventlogreceiver
: Avoid rendering the whole event to obtain the provider name (#34755 - (Contrib)
splunkhecexporter
: Drop empty log events (#34871
Log records with no body are dropped by Splunk on reception as they contain no log message, albeit they may have attributes.
This is in tune with the behavior of splunkhecreceiver, which refuses HEC events with no event (#19769 - (Contrib)
transformprocessor
: Support aggregating metrics based on their attribute values and substituting the values with a new value. (#16224 - (Contrib)
kafkareceiver
: Adds tunable fetch sizes to Kafka Receiver (#22741
Adds the ability to tune the minumum, default and maximum fetch sizes for the Kafka Receiver - (Contrib)
kafkareceiver
: Add support for encoding extensions in the Kafka receiver. (#33888
This change adds support for encoding extensions in the Kafka receiver. Loading extensions takes precedence over the internally supported encodings. - (Contrib)
pkg/ottl
: AddSort
function to sort array to ascending order or descending order (#34200 - (Contrib)
redactionprocessor
: Add support for logs and metrics (#34479 - (Contrib)
spanmetricsconnector
: Extract thegetDimensionValue
function as a common function. (#34627 - (Contrib)
sqlqueryreceiver
: Support populating log attributes from sql query (#24459
π§° Bug fixes π§°
- (Core)
configgrpc
: Change the value of max_recv_msg_size_mib from uint64 to int to avoid a case where misconfiguration caused an integer overflow. (#10948) - (Core)
exporterqueue
: Fix a bug in persistent queue that Offer can becomes deadlocked when queue is almost full (#11015) - (Contrib)
apachereceiver
: Fix panic on invalid endpoint configuration (#34992 - (Contrib)
fileconsumer
: Fix bug where max_concurrent_files could not be set to 1. (#35080 - (Contrib)
hostmetricsreceiver
: In filesystem scraper, do not prefix partitions when using the environment variable HOST_PROC_MOUNTINFO (#35043 - (Contrib)
splunkhecreceiver
: Fix memory leak when the receiver is used for both metrics and logs at the same time (#34886 - (Contrib)
pkg/stanza
: Synchronize shutdown in stanza adapter (#31074
Stanza-based receivers should now flush all data before shutting down - (Contrib)
sqlserverreceiver
: Fix bug where metrics were being emitted with the wrong database name resource attribute (#35036 - (Contrib)
signalfxexporter
: Fix memory leak by re-organizing the exporter's functionality lifecycle (#32781 - (Contrib)
otlpjsonconnector
: Handle OTLPJSON unmarshal error (#34782 - (Contrib)
mysqlreceiver
: mysql client raise error when the TABLE_ROWS column is NULL, convert NULL to int64 (#34195 - (Contrib)
pkg/stanza
: An operator configured with silent errors shouldn't log errors while processing log entries. (#35008
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.109.0
- digest:
sha256:0f8ef18872f42623e5129c9ffad4ceae04bbf2b42d6d924f507706b3557c73db
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.109.0
- digest:
sha256:9be93047532dc4bf5f5432307cdc47124ac5768eb22cee0fa6bce3ab8ee88903