Releases: signalfx/splunk-otel-collector
v0.112.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.112.0 and the opentelemetry-collector-contrib v0.112.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Remove httpsink exporter (#5503)
- (Splunk) Remove signalfx-metadata and collectd/metadata monitors (#5508)
Both monitors are deprecated and replaced by the hostmetricsreceiver and processlist monitor. - (Splunk) Remove deprecated collectd/etcd monitor. Please use the etcd prometheus endpoint to scrape metrics. (#5520)
- (Splunk) Remove deprecated collectd/health-checker monitor. (#5522)
- (Splunk) Remove deprecated loggingexporter from the distribution (#5551)
- (Core)
service
: Remove stable gate component.UseLocalHostAsDefaultHost (#11412)
🚩Deprecations 🚩
- (Splunk) Deprecate cloudfoundry monitor (#5495)
- (Splunk) Deprecate the heroku observer. Use the resource detection observer with heroku detector instead. (#5496)
- (Splunk) Deprecate mongodb atlas monitor. Please use the mongodbatlasreceiver instead (#5500)
- (Splunk) Deprecate python-monitor monitor (#5501)
- (Splunk) Deprecate windowslegacy monitor (#5518)
- (Splunk) Deprecate statsd monitor. Use the statsd receiver instead. (#5513)
- (Splunk) Deprecate the collectd/consul monitor. Please use the statsd or prometheus receiver instead. See https://developer.hashicorp.com/consul/docs/agent/monitor/telemetry for more information. (#5521)
- (Splunk) Deprecate collectd/mysql monitor. Use the mysql receiver instead. (#5538)
- (Splunk) Deprecate the collectd/nginx monitor. Please use the nginx receiver instead. (#5537)
- (Splunk) Deprecate the collectd/chrony monitor. Please use the chronyreceiver instead. (#5536)
- (Splunk) Deprecate the collectd/statsd monitor. Please use the statsdreceiver instead. (#5542)
- (Splunk) Deprecate the ecs-metadata monitor (#5541)
- (Splunk) Deprecate the collectd/statsd monitor. Please use the statsdreceiver instead. (#)
- (Splunk) Deprecate the haproxy monitor. Please use the haproxyreceiver instead. (#5543)
- (Contrib)
sapmreceiver
: Deprecate SAPM receiver (#32125)
🚀 New components 🚀
- (Splunk) Add chrony receiver (#5535)
💡 Enhancements 💡
- (Splunk) Update Python to 3.13.0 (5552)
- (Core)
confighttp
: Adding support for lz4 compression into the project (#9128) - (Core)
service
: Hide profiles support behind a feature gate while it remains alpha. (#11477) - (Core)
exporterhelper
: Retry sender will fail fast when the context timeout is shorter than the next retry interval. (#11183) - (Contrib)
azureeventshubreceiver
: Updates the Azure Event Hub receiver to use the new Resource Logs translator. (#35357) - (Contrib)
pkg/ottl
: Add ConvertAttributesToElementsXML Converter (#35328) - (Contrib)
azureblobreceiver
: adds support for using azidentity default auth, enabling the use of Azure Managed Identities, e.g. Workload Identities on AKS (#35636)
This change allows to use authentication type "default", which makes the receiver use azidentity default Credentials,
which automatically picks up, identities assigned to e.g. a container or a VirtualMachine - (Contrib)
k8sobserver
: Emit endpoint per Pod's container (#35491) - (Contrib)
mongodbreceiver
: Add support for MongoDB direct connection (#35427) - (Contrib)
chronyreceiver
: Move chronyreceiver to beta (#35913) - (Contrib)
pkg/ottl
: Parsing invalid statements and conditions now prints all errors instead of just the first one found. (#35728) - (Contrib)
pkg/ottl
: Add ParseSimplifiedXML Converter (#35421) - (Contrib)
routingconnector
: Allow routing based on OTTL Conditions (#35731)
Each route must contain either a statement or a condition. - (Contrib)
sapmreceiver
: Respond 503 on non-permanent and 400 on permanent errors (#35300) - (Contrib)
hostmetricsreceiver
: Use HOST_PROC_MOUNTINFO as part of configuration instead of environment variable (#35504) - (Contrib)
pkg/ottl
: Add ConvertTextToElements Converter (#35364)
🧰 Bug fixes 🧰
- (Core)
processorhelper
: Fix issue where in/out parameters were not recorded when error was returned from consumer. (#11351) - (Contrib)
metricstransform
: The previously removed functionality of aggregating against an empty label set is restored. (#34430) - (Contrib)
filelogreceiver
: Supportsadd_metadata_from_filepath
for Windows filepaths (#35558) - (Contrib)
filelogreceiver
: Suppress errors on EBADF when unlocking files. (#35706)
This error is harmless and happens regularly when delete_after_read is set. This is because we acquire the lock right at the start of the ReadToEnd function and then defer the unlock, but that function also performs the delete. So, by the time it returns and the defer runs the file descriptor is no longer valid. - (Contrib)
kafkareceiver
: Fixes issue causing kafkareceiver to block during Shutdown(). (#30789) - (Contrib)
hostmetrics receiver
: Fix duplicate filesystem metrics (#34635, #34512)
The hostmetrics exposes duplicate metrics of identical mounts exposed in namespaces. The duplication causes errors in exporters that are sensitive to duplicate metrics. We can safely drop the duplicates as the metrics should be exactly the same. - (Contrib)
pkg/ottl
: Allow indexing string slice type (#29441) - (Contrib)
mysqlreceiver
: Add replica metric support for versions of MySQL earlier than 8.0.22. (#35217) - (Contrib)
stanza/input/windows
: Close remote session while resubscribing (#35577) - (Contrib) `...
v0.111.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.111.0 and the opentelemetry-collector-contrib v0.111.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Contrib) signalfxexporter: Do not exclude the metric container.memory.working_set (#35475)
- (Contrib) sqlqueryreceiver: Fail if value for log column in result set is missing, collect errors (#35068)
- (Contrib) windowseventlogreceiver: The 'raw' flag no longer suppresses rendering info. (#34720)
- (Splunk) Remove deprecated memory ballast extension (#5429)
🚩Deprecations 🚩
- (Contrib) sapmreceiver: access_token_passthrough is deprecated (#35330)
- (Splunk) Remove ballast extension entirely from components (#5429)
- (Splunk) Deprecate jaegergrpc monitor (#5428)
- (Splunk) Deprecate the jaegergrpc monitor (#5428)
💡 Enhancements 💡
- (Splunk) Initial release of standalone collector binaries for Linux (amd64/arm64) and Windows (amd64) with FIPS 140-2 support. These are experimental (alpha) binaries, and it is not suitable to use them in production environments. (#5378):
otelcol-fips_linux_<amd64|arm64>
: Built withGOEXPERIMENT=boringcrypto
andcrypto/tls/fipsonly
.otelcol-fips_windows_amd64.exe
: Built withGOEXPERIMENT=cngcrypto
andrequirefips
(the collector will panic if FIPS is not enabled on the Windows host).- Smart Agent components are not currently supported.
- Download the binaries from the list of assets below.
- (Core)
confignet:
Add Profiles Marshaler to otlptext. (#11161) - (Contrib)
receivercreator:
Validate endpoint's configuration before starting receivers (#33145) - (Contrib)
receiver/statsd:
Add support for aggregating on Host/IP (#23809) - (Contrib)
hostmetricsreceiver:
Add ability to mute all errors (mainly due to access rights) coming from process scraper of the hostmetricsreceiver (#20435) - (Contrib)
kubeletstats:
Introduce feature gate for deprecation of container.cpu.utilization, k8s.pod.cpu.utilization and k8s.node.cpu.utilization metrics (#35139) - (Contrib)
pkg/ottl:
Add InsertXML Converter (#35436) - (Contrib)
pkg/ottl
: Add GetXML Converter (#35462) - (Contrib)
pkg/ottl
: Add ToKeyValueString Converter (#35334) - (Contrib)
pkg/ottl
: Add RemoveXML Converter (#35301) - (Contrib)
sqlserverreceiver:
Add computer name resource attribute to relevant metrics (#35040) - (Contrib)
windowseventlogreceiver:
Add 'suppress_rendering_info' option. (#34720) - (Contrib)
receiver/awss3receiver:
Add ingest progress notifications via OpAMP (#33980) - (Contrib)
receiver/azureblobreceiver:
support for default auth (#35636) - (Contrib) update sapm-proto to 0.16.0 (#35630)
🧰 Bug fixes 🧰
- (Contrib)
windowseventlogreceiver:
While collecting from a remote windows host, the stanza operator will no longer log "subscription handle is already open" constantly during successful collection. (#35520) - (Contrib)
windowseventlogreceiver:
If collecting from a remote host, the receiver will stop collecting if the host restarts. This change resubscribes when the host restarts. (#35175) - (Contrib)
sqlqueryreceiver:
Fix reprocessing of logs when tracking_column type is timestamp (#35194) - (Core)
processorhelper
: Fix bug where record in/out metrics were skipped (#11360)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.111.0
- digest:
sha256:7633ea95d144e63eb3624070be1e3821925a0c3ad9a733ae00b38178bf35c541
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.111.0
- digest:
sha256:ca065a7626d31c7c8b31b1ce33385b7b8d2b0231b58c87171ead73365c1be9f6
v0.110.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.110.0 and the opentelemetry-collector-contrib v0.110.0 releases where appropriate.
Additionally, updates splunk-otel-javaagent
to v2.8.1
and jmx-metric-gatherer
to v1.39.0
🛑 Breaking changes 🛑
- (Core)
processorhelper
: Update incoming/outgoing metrics to a single metric withotel.signal
attributes. (#11144) - (Core) processorhelper: Remove deprecated [Traces|Metrics|Logs]Inserted funcs (#11151)
- (Core) config: Mark UseLocalHostAsDefaultHostfeatureGate as stable (#11235)
- (Contrib)
pkg/stanza
: Move filelog.container.removeOriginalTimeField feature gate to beta. Disable the filelog.container.removeOriginalTimeField feature gate to get the old behavior. (#33389) - (Contrib)
resourcedetectionprocessor
: Move processor.resourcedetection.hostCPUSteppingAsString feature gate to stable. (#31136) - (Contrib)
resourcedetectionprocessor
: Remove processor.resourcedetection.hostCPUModelAndFamilyAsString feature gate. (#29025)
🚩 Deprecations 🚩
- (Core)
processorhelper
: deprecate accepted/refused/dropped metrics (#11201) - (Contrib)
hostmetricsreceiver
: Set the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to stable. (#34763)
💡 Enhancements 💡
- (Core)
confignet
: Mark module as Stable. (#9801) - (Core)
confmap/provider/envprovider
: Support default values when env var is empty (#5228) - (Core)
service/telemetry
: Mark useOtelWithSDKConfigurationForInternalTelemetry as stable (#7532) - (Contrib)
processor/transform
: Add custom function to the transform processor to convert exponential histograms to explicit histograms. (#33827) - (Contrib)
file_storage
: provide a new option to the user to create a directory on start (#34939) - (Contrib)
headersetterextension
: adding default_value config.default_value
config item applied in case context value is empty. (#34412) - (Contrib)
kafkaexporter
: Add support for encoding extensions in the Kafka exporter. This change adds support for encoding extensions in the Kafka exporter. Loading extensions takes precedence over the internally supported encodings. (#34384) - (Contrib)
kafkareceiver
: Add support for otlp_json encoding to Kafka receiver. The payload is deserialized into OpenTelemetry traces using JSON format. This encoding allows the Kafka receiver to handle trace data in JSON format, enabling integration with systems that export traces as JSON-encoded data. (#33627) - (Contrib)
pkg/ottl
: Improved JSON unmarshaling performance by 10-20% by switching dependencies. (#35130) - (Contrib)
pkg/ottl
: Added support for locale in the Time converter (#32978) - (Contrib)
remotetapprocessor
: Origin header is no longer required for websocket connections (#34925) - (Contrib)
deltatorateprocessor
: Remove unnecessary data copies. (#35165) - (Contrib)
transformprocessor
: Remove unnecessary data copy when transform sum to/from gauge (#35177) - (Contrib)
sapmexporter
: Prioritize token in context when accesstokenpassthrough is enabled (#35123) - (Contrib)
tailsamplingprocessor
: Fix the behavior for numeric tag filters with inverse_match set to true. (#34296) - (Splunk) Update instruction for partial discovery (#5402)
🧰 Bug fixes 🧰
- (Core)
service
: Ensure process telemetry is registered when internal telemetry is configured with readers instead of an address. (#11093) - (Contrib)
splunkenterprise
: Fix a flaky search related to iops metrics. (#35081) - (Contrib)
azuremonitorexporter
: fix issue for property endpoint is ignored when using instrumentation_key (#33971) - (Contrib)
groupbytraceprocessor
: Ensure processor_groupbytrace_incomplete_releases metric has a unit. (#35221) - (Contrib)
deltatocumulative
: do not drop gauges and summaries. Gauges and Summaries are no longer dropped from processor output. Instead, they are passed through as-is. (#35284) - (Contrib)
pkg/stanza
: Do not get formatted message for Windows events without an event provider. Attempting to get the formatted message for Windows events without an event provider can result in an error being logged. This change ensures that the formatted message is not retrieved for such events. (#35135) - (Contrib)
signalfxexporter
: Ensure token is not sent through for event data (#35154) - (Contrib)
prometheusreceiver
: Fix the retrieval of scrape configurations by also considering scrape config files (#34786) - (Contrib)
redactionprocessor
: Fix panic when using the redaction processor in a logs pipeline (#35331) - (Contrib)
exporter/splunkhec
: Fix incorrect claim that the exporter doesn't mutate data when batching is enabled. The bug lead to runtime panics when the exporter was used with the batcher enabled in a fanout scenario. (#35306) - (Splunk) Choco upgrade should preserve collector service custom env vars (#5386)
- (Splunk)
discoveryreceiver
withsplunk.continuousDiscovery
feature gate enabled: Remove redundant discovery.receiver.rule attribute (#5403) - (Splunk)
discoveryreceiver
withsplunk.continuousDiscovery
feature gate enabled: Remove redundant resource attributes (#5409)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.110.0
- digest:
sha256:0dbcef5a534ad26eaf9e817b5726cadca129cfce6e2540778132162807df589a
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.110.0
- digest:
sha256:3231af8709d3f9f0afdbe69c8cb5583885e5005a0f10c8f62e9e3602241ea8b0
v0.109.0
🛑 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
v0.108.1
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.108.1 and the opentelemetry-collector-contrib v0.108.0 releases where appropriate.
🚩Deprecations 🚩
- (Splunk) Deprecate the nagios monitor (#5172)
🧰 Bug fixes 🧰
- (Splunk) Discovery observers start failures should not stop the collector (#5299)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.108.1
- digest:
sha256:e8004468b506907748cdc7475578844097934a73320feec3b0efac4ff882a559
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.108.1
- digest:
sha256:3db675d4fffee375e51133efad0f8f1eb40cbba0cfdd46da96714bb35e4e6a63
v0.108.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.108.1 and the opentelemetry-collector-contrib v0.108.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Core)
confmap
: Markconfmap.strictlyTypedInput
as stable (#10552) - (Contrib)
splunkhecexporter
: The scope name has been updated fromotelcol/splunkhec
togithub.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter
(#34710) - (Contrib)
transformprocessor
: Promote processor.transform.ConvertBetweenSumAndGaugeMetricContext feature flag from alpha to beta (#34567) - (Contrib)
vcenterreceiver
: Several host performance metrics now return 1 data point per time series instead of 5. (#34708)
The 5 data points previously sent represented consecutive 20s sampling periods. Depending on the collection interval
these could easily overlap. Sending just the latest of these data points is more in line with other performance metrics.
This change also fixes an issue with the googlecloud exporter seeing these datapoints as duplicates.
Following is the list of affected metrics which will now only report a single datapoint per set of unique attribute values.- vcenter.host.cpu.reserved
- vcenter.host.disk.latency.avg
- vcenter.host.disk.latency.max
- vcenter.host.disk.throughput
- vcenter.host.network.packet.drop.rate
- vcenter.host.network.packet.error.rate
- vcenter.host.network.packet.rate
- vcenter.host.network.throughput
- vcenter.host.network.usage
🚀 New components 🚀
💡 Enhancements 💡
- (Core)
exporter/otlp
: Add batching option to otlp exporter (#8122) - (Core)
service
: Addslevel
configuration option toservice::telemetry::trace
to allow users to disable the default TracerProvider (#10892)
This replaces the feature gateservice.noopTracerProvider
introduced in v0.107.0 - (Contrib)
awss3receiver
: Enhance the logging of the AWS S3 Receiver in normal operation to make it easier for user to debug what is happening. (#30750) - (Contrib)
filelogreceiver
: If acquire_fs_lock is true, attempt to acquire a shared lock before reading a file. (#34801)
Unix only. If a lock cannot be acquired then the file will be ignored until the next poll cycle. - (Contrib)
solacereceiver
: Updated the format for generated metrics. Included areceiver_name
attribute that identifies the Solace receiver that generated the metrics (#34541) - (Contrib)
prometheusreceiver
: Ensure Target Allocator's confighttp is used in the receiver's service discovery (#33370) - (Contrib)
metricstransformprocessor
: Add scaling exponential histogram support (#29803) - (Contrib)
pkg/ottl
: IntroduceUserAgent
converter to parse UserAgent strings (#32434) - (Splunk) Update JMX Metric Gatherer to v1.38.0 (#5287)
- (Splunk) Auto Instrumentation for Linux (#5243)
- Add support for the
OTEL_LOGS_EXPORTER
environment variable tolibsplunk.so
for system-wide auto instrumentation. - Linux installer script: Add the
--logs-exporter <value>
option:- Set the exporter for collected logs by all activated SDKs, for example
otlp
. - Set the value to
none
to disable collection and export of logs. - The value will be set to the
OTEL_LOGS_EXPORTER
environment variable. - Defaults to
''
(empty), i.e. defer to the defaultOTEL_LOGS_EXPORTER
value for each activated SDK.
- Set the exporter for collected logs by all activated SDKs, for example
- Add support for the
🧰 Bug fixes 🧰
- (Core)
batchprocessor
: Update units for internal telemetry (#10652) - (Core)
confmap
: Fix bug where an unset env var used with a non-string field resulted in a panic (#10950) - (Core)
service
: Fix memory leaks during service package shutdown (#9165) - (Core)
confmap
: Use string representation for field types where all primitive types are strings. (#10937) - (Core)
otelcol
: Preserve internal representation when unmarshaling component configs (#10552) - (Contrib)
tailsamplingprocessor
: Update thepolicy
value in metrics dimension value to be unique across multiple tail sampling components with the same policy name. (#34192)
This change ensures that thepolicy
value in the metrics exported by the tail sampling processor is unique across multiple tail sampling processors with the same policy name. - (Contrib)
prometheusreceiver
: Group scraped metrics into resources created fromjob
andinstance
label pairs (#34237)
The receiver will now create a resource for each distinct job/instance label combination.
In addition to the label/instance pairs detected from the scraped metrics, a resource representing the overall
scrape configuration will be created. This additional resource will contain the scrape metrics, such as the number of scraped metrics, the scrape duration, etc. - (Contrib)
tailsamplingprocessor
: Fix the behavior for numeric tag filters withinverse_match
set totrue
. (#34296) - (Contrib)
pkg/stanza
: fix nil value conversion (#34672) - (Contrib)
k8sclusterreceiver
: Lower the log level of a message indicating a cache miss from WARN to DEBUG. (#34817)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.108.0
- digest:
sha256:d0296ad2bd15a776075c0c996888b6bdb128a741e76659645e2ec26c103718bf
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.108.0
- digest:
sha256:7938a4352cda884a98e59aca3dc322c4a5cf7869fb8253289660fad1b0faef3b
v0.107.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.107.0 and the opentelemetry-collector-contrib v0.107.0 releases where appropriate.
This release fixes CVE-2024-42368 on the bearerauthtokenextension
(#34516). The Splunk distribution was not impacted by this CVE.
🐛 Known issues 🐛
We have identified an issue with this release concerning the handling of empty environment variable values in the collector configuration. The issue is tracked under open-telemetry/opentelemetry-collector#10949.
🛑 Breaking changes 🛑
- (Splunk)
confmap
: Do not expand special shell variable such as$*
in configuration files. (#5206) - (Splunk) Upgrade golang to 1.22 (#5248)
- (Core)
service
: Remove OpenCensus bridge completely, mark feature gate as stable. (#10414) - (Contrib) Update the scope name for telemetry produce by components. The following table summarizes the changes:
Component name | Previous scope | New scope | PR number |
---|---|---|---|
azureeventhubreceiver |
otelcol/azureeventhubreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azureeventhubreceiver |
(#34611) |
cloudfoundryreceiver |
otelcol/cloudfoundry |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver |
(#34612) |
azuremonitorreceiver |
otelcol/azuremonitorreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/azuremonitorreceiver |
(#34618) |
fileconsumer |
otelcol/fileconsumer |
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza/fileconsumer |
(#34619) |
loadbalancingexporter |
otelcol/loadbalancing |
github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter |
(#34429) |
apachereceiver |
otelcol/apachereceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/apachereceiver |
(#34517) |
countconnector |
otelcol/countconnector |
github.com/open-telemetry/opentelemetry-collector-contrib/connector/countconnector |
(#34583) |
elasticsearchreceiver |
otelcol/elasticsearchreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/elasticsearchreceiver |
(#34529) |
filterprocessor |
otelcol/filter |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/filterprocessor |
(#34550) |
fluentforwardreceiver |
otelcol/fluentforwardreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/fluentforwardreceiver |
(#34534) |
groupbyattrsprocessor |
otelcol/groupbyattrs |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/groupbyattrsprocessor |
(#34550) |
haproxyreceiver |
otelcol/haproxyreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/haproxyreceiver |
(#34498) |
hostmetricsreceiver receiver's scrapers |
otelcol/hostmetricsreceiver/* |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/* |
(#34526) |
httpcheckreceiver |
otelcol/httpcheckreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/httpcheckreceiver |
(#34497) |
k8sattributesprocessor |
otelcol/k8sattributes |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/k8sattributesprocessor |
(#34550) |
k8sclusterreceiver |
otelcol/k8sclusterreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver |
(#34536) |
kafkametricsreceiver |
otelcol/kafkametricsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver |
(#34538) |
kafkareceiver |
otelcol/kafkareceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver |
(#34539) |
kubeletstatsreceiver |
otelcol/kubeletstatsreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver |
(#34537) |
mongodbatlasreceiver |
otelcol/mongodbatlasreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver |
(#34543) |
mongodbreceiver |
otelcol/mongodbreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver |
(#34544) |
mysqlreceiver |
otelcol/mysqlreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver |
(#34545) |
nginxreceiver |
otelcol/nginxreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/nginxreceiver |
(#34493) |
oracledbreceiver |
otelcol/oracledbreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/oracledbreceiver |
(#34491) |
postgresqlreceiver |
otelcol/postgresqlreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver |
(#34476) |
probabilisticsamplerprocessor |
otelcol/probabilisticsampler |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor |
(#34550) |
prometheusreceiver |
otelcol/prometheusreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver |
(#34589) |
rabbitmqreceiver |
otelcol/rabbitmqreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/rabbitmqreceiver |
(#34475) |
sshcheckreceiver |
otelcol/sshcheckreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver |
(#34448) |
vcenterreceiver |
otelcol/vcenter |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver |
(#34449) |
redisreceiver |
otelcol/redisreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver |
(#34470) |
routingprocessor |
otelcol/routing |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor |
(#34550) |
solacereceiver |
otelcol/solacereceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/solacereceiver |
(#34466) |
splunkenterprisereceiver |
otelcol/splunkenterprisereceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkenterprisereceiver |
(#34452) |
statsdreceiver |
otelcol/statsdreceiver |
github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver |
(#34547) |
tailsamplingprocessor |
otelcol/tailsampling |
github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor |
([#34550]... |
v0.106.1
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.106.1 and the opentelemetry-collector-contrib v0.106.1 releases where appropriate.
🧰 Bug fixes 🧰
- (Splunk) Upgrade some
core
dependencies to properv0.106.1
version. (#5203)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.106.1
- digest:
sha256:43b280731de041beff03c4e69e6ded661c8ce0a6992f959a647275abc5ebd5a2
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.106.1
- digest:
sha256:1631ec7a38900a8623003e34eb68d9fced3d7550e601374a92decc6e1e962db0
v0.106.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.106.0-v0.106.1 and the opentelemetry-collector-contrib v0.106.0-v0.106.1 releases where appropriate.
Note: Some core
dependencies were incorrectly still set to v0.105.0
for this release.
🛑 Breaking changes 🛑
- (Core)
service
: Update all metrics to includeotelcol_
prefix to ensure consistency across OTLP and Prometheus metrics (#9759)
This change is marked as a breaking change as anyone that was using OTLP for metrics will
see the new prefix which was not present before. Prometheus generated metrics remain
unchanged. - (Core)
confighttp
: DeleteClientConfig.CustomRoundTripper
(#8627)
Set (*http.Client).Transport on the *http.Client returned from ToClient to configure this. - (Core)
confmap
: When passing configuration for a string field using any provider, use the verbatim string representation as the value. (#10605, #10405)
This matches the behavior of${ENV}
syntax prior to the promotion of theconfmap.unifyEnvVarExpansion
feature gate
to beta. It changes the behavior of the${env:ENV}
syntax with escaped strings. - (Core)
component
: Adds restrictions on the character set for component.ID name. (#10673) - (Core)
processor/memorylimiter
: The memory limiter processor will no longer account for ballast size. (#10696)
If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you. - (Core)
extension/memorylimiter
: The memory limiter extension will no longer account for ballast size. (#10696)
If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you. - (Core)
service
: The service will no longer be able to get a ballast size from the deprecated ballast extension. (#10696)
If you are already using GOMEMLIMIT instead of the ballast extension this does not affect you. - (Contrib)
vcenterreceiver
: Enables various vCenter metrics that were disabled by default until v0.106.0 (#33607)
The following metrics will be enabled by default "vcenter.datacenter.cluster.count", "vcenter.datacenter.vm.count", "vcenter.datacenter.datastore.count",
"vcenter.datacenter.host.count", "vcenter.datacenter.disk.space", "vcenter.datacenter.cpu.limit", "vcenter.datacenter.memory.limit",
"vcenter.resource_pool.memory.swapped", "vcenter.resource_pool.memory.ballooned", and "vcenter.resource_pool.memory.granted". The
"resourcePoolMemoryUsageAttribute" has also been bumped up to release v.0.107.0 - (Contrib)
k8sattributesprocessor
: Deprecateextract.annotations.regex
andextract.labels.regex
config fields in favor of theExtractPatterns
function in the transform processor. TheFieldExtractConfig.Regex
parameter will be removed in version v0.111.0. (#25128)
Deprecating of FieldExtractConfig.Regex parameter means that it is recommended to use theExtractPatterns
function from the transform processor instead. To convert your current configuration please check theExtractPatterns
function documentation. You should use thepattern
parameter ofExtractPatterns
instead of using theFieldExtractConfig.Regex
parameter.
🚩Deprecations 🚩
- (Splunk) Deprecate the collectd/health-checker plugin (#5167)
- (Splunk) Deprecate the telegraf/exec monitor (#5171)
🚀 New components 🚀
💡 Enhancements 💡
- (Splunk) Auto Discovery for Linux:
- Bring Apache Web Server receiver into the discovery mode (#5109)
- (Splunk) linux installer script: decouple the endpoint and protocol options (#5164)
- (Splunk) Bump version of com.signalfx.public:signalfx-commons-protoc-java to 1.0.44 (#5186)
- (Splunk) Bump version of github.com/snowflakedb/gosnowflake from to 1.11.0 (#5176)
- (Core)
exporterhelper
: Add data_type attribute tootelcol_exporter_queue_size
metric to report the type of data being processed. (#9943) - (Core)
confighttp
: Add option to include query params in auth context (#4806) - (Core)
configgrpc
: gRPC auth errors now return gRPC status code UNAUTHENTICATED (16) (#7646) - (Core)
httpprovider, httpsprovider
: Validate URIs in HTTP and HTTPS providers before fetching. (#10468) - (Contrib)
processor/transform
: Addscale_metric
function that scales all data points in a metric. (#16214) - (Contrib)
vcenterreceiver
: Adds vCenter vSAN host metrics. (#33556)
Introduces the following vSAN host metrics to the vCenter receiver:- vcenter.host.vsan.throughput
- vcenter.host.vsan.iops
- vcenter.host.vsan.congestions
- vcenter.host.vsan.cache.hit_rate
- vcenter.host.vsan.latency.avg
- (Contrib)
transformprocessor
: Support aggregating metrics based on their attributes. (#16224) - (Contrib)
metricstransformprocessor
: Adds the 'median' aggregation type to the Metrics Transform Processor. Also uses the refactored aggregation business logic from internal/core package. (#16224) - (Contrib)
hostmetricsreceiver
: allow configuring log pipeline to send host EntityState event (#33927) - (Contrib)
windowsperfcountersreceiver
: Improve handling of non-existing instances for Windows Performance Counters (#33815)
It is an expected that when querying Windows Performance Counters the targeted instances may not be present.
The receiver will no longer require the use ofrecreate_query
to handle non-existing instances.
As soon as the instances are available, the receiver will start collecting metrics for them.
There won't be warning log messages when there are no matches for the configured instances. - (Contrib)
kafkareceiver
: Add settings session_timeout and heartbeat_interval to Kafka Receiver for group management facilities (#28630) - (Contrib)
vcenterreceiver
: Adds a number of default disabled vSAN metrics for Clusters. (#33556) - (Contrib)
vcenterreceiver
: Adds a number of default disabled vSAN metrics for Virtual Machines. (#33556)
🧰 Bug fixes 🧰
- (Core)
processorhelper
: update units for internal telemetry (#10647) - (Core)
confmap
: Increase the amount of recursion and URI expansions allowed in a single line (#10712) - (Core)
exporterhelper
: There is no guarantee that after the exporterhelper sends the plog/pmetric/ptrace data downstream that the data won't be mutated in some way. (e.g by the batch_sender) This mutation could result in the proceeding call to req.ItemsCount() to provide inaccurate information to be logged. (#10033) - (Core)
exporterhelper
: Update units for internal telemetry (#10648) - (Core)
receiverhelper
: Update units for internal telemetry (#10650) - (Core)
scraperhelper
: Update units for internal telemetry (#10649) - (Core)
service
: Use Command/Version to populate service name/version attributes ([#10644](https://githu...
v0.105.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.105.0 and the opentelemetry-collector-contrib v0.105.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Don't expand environment variables starting with $$ in configuration files. This behavior was introduced
in v0.42.0 to support a bug causing double expansion. $$ is treated as an escape sequence representing a literal
$ character (#5134) - (Core)
service
: addservice.disableOpenCensusBridge
feature gate which is enabled by default to remove the dependency on OpenCensus (#10414) - (Core)
confmap
: Promoteconfmap.strictlyTypedInput
feature gate to beta. (#10552)
This feature gate changes the following:- Configurations relying on the implicit type casting behaviors listed on #9532 will start to fail.
- Configurations using URI expansion (i.e.
field: ${env:ENV}
) for string-typed fields will use the value passed inENV
verbatim without intermediate type casting.
- (Contrib)
stanza
: errors from Operator.Process are returned instead of silently ignored. (#33783)
This public function is affected: https://pkg.go.dev/github.com/open-telemetry/opentelemetry-collector-contrib/pkg/stanza@v0.104.0/operator/helper#WriterOperator.Write - (Contrib)
vcenterreceiver
: Enables various vCenter metrics that were disabled by default until v0.105 (#34022)
The following metrics will be enabled by default "vcenter.host.network.packet.drop.rate",
"vcenter.vm.cpu.readiness", "vcenter.host.cpu.capacity", and "vcenter.host.cpu.reserved".
🚩Deprecations 🚩
- (Splunk) Deprecate usage of bare environment variables and config sources in configuration files (#5153)
- Use
${env:VAR}
or${VAR}
instead of$VAR
. - Use
${uri:selector}
instead of$uri:selector
, e.g.${file:/path/to/file}
instead of$file:/path/to/file
.
- Use
💡 Enhancements 💡
- (Splunk) Auto Discovery for Linux:
- (Splunk) Update bundled OpenJDK to 11.0.24_8 (#5113, #5119)
- (Splunk) Upgrade github.com/hashicorp/vault to v1.17.2 (#5089)
- (Splunk) Upgrade github.com/go-zookeeper/zk to 1.0.4 (#5146)
- (Core)
configtls
: Mark module as stable. (#9377) - (Core)
confmap
: Remove extra closing parenthesis in sub-config error (#10480) - (Core)
configgrpc
: Update the default load balancer strategy to round_robin (#10319)
To restore the behavior that was previously the default, setbalancer_name
topick_first
. - (Core)
otelcol
: Add go module to components subcommand. (#10570) - (Core)
confmap
: Add explanation to errors related toconfmap.strictlyTypedInput
feature gate. (#9532) - (Core)
confmap
: Allow usingmap[string]any
values in string interpolation (#10605) - (Contrib)
pkg/ottl
: Added Hex() converter function (#31929) - (Contrib)
pkg/ottl
: Add IsRootSpan() converter function. (#32918)
ConverterIsRootSpan()
returnstrue
if the span in the corresponding context is root, that means itsparent_span_id
equals to hexadecimal representation of zero. In all other scenarios function returnsfalse
. - (Contrib)
vcenterreceiver
: Adds additional vCenter resource pool metrics and a memory_usage_type attribute for vcenter.resource_pool.memory.usage metric to use. (#33607)
Added "vcenter.resource_pool.memory.swapped", "vcenter.resource_pool.memory.ballooned", and "vcenter.resource_pool.memory.granted"
metrics. Also added an additional attribute, "memory_usage_type" for "vcenter.resource_pool.memory.usage" metric, which is currently under a feature gate. - (Contrib)
kubeletstatsreceiver
: Addk8s.pod.memory.node.utilization
andk8s.container.memory.node.utilization
metrics (#33591) - (Contrib)
vcenterreceiver
: Adds vCenter metrics at the datacenter level. (#33607)
Introduces various datacenter metrics which work by aggregating stats from datastores, clusters, hosts, and VM's. - (Contrib)
processor/resource, processor/attributes
: Add an option to extract value from a client address by specifyingclient.address
value in thefrom_context
field. (#34051) (#33607) - (Contrib)
receiver/azuremonitorreceiver
: Add support for Managed Identity and Default Credential auth (#31268, #33584) - (Contrib)
azuremonitorreceiver
: Addmaximum_number_of_records_per_resource
config parameter in order to overwrite default (#32165) - (Contrib)
cloudfoundryreceiver
: Add support to receive CloudFoundry Logs (#32671) - (Contrib)
cmd/opampsupervisor
: Adds support for forwarding custom messages to/from the agent (#33575) - (Contrib)
splunkhecexporter
: Increase the performance of JSON marshaling (#34011) - (Contrib)
loadbalancingexporter
: Adds a new streamID routingKey, which will route based on the datapoint ID. See updated README for details (#32513) - (Contrib)
dockerobserver
: Add hint to error when using float forapi_version
field (#34043) - (Contrib)
pkg/ottl
: Emit traces for statement sequence executions to troubleshoot OTTL statements/conditions (#33433) - (Contrib)
pkg/stanza
: Bump 'logs.jsonParserArray' and 'logs.assignKeys' feature gates to beta. (#33948)- This enables the feature gates by default to allow use of the
json_array_parser
andassign_keys
operations.
- This enables the feature gates by default to allow use of the
- (Contrib)
receiver/filelog
: Add filelog.container.removeOriginalTimeField feature-flag for removing original time field (#33946) - (Contrib)
statsdreceiver
: Allow configuring summary percentiles (#33701) - (Contrib)
pkg/stanza
: Switch to faster json parser lib for container operator (#33929) - (Contrib)
telemetrygen
: telemetrygen--rate
flag changed from Int64 to Float64 (#33984) - (Contrib)
windowsperfcountersreceiver
:windowsperfcountersreceiver
now appends an index number to additional instance names that share a name. An example of this is when scrapingrocess(*)
counters with multiple running instances of the same executable. (#32319)
NOTES- This change can expose cardinality issues where the counters were previously collapsed under the non-indexed instance name.
- The change mimics Windows Performance Monitor behavior: The first instance name remains unchanged, additional instances are suffixed with
#<N>
whereN=1
and is increased for each duplicate.- e.g. Given 3 powershell instances, this will return
powershell
,powershell#1
andpowershell#2
.
- e.g. Given 3 powershell instances, this will return
🧰 Bug fixes 🧰
- (Splunk) Auto Discovery for Linux:
- Fix kafkametrics k8s issues for Auto Discovery ([#5103](https://gi...