Releases: signalfx/splunk-otel-collector
v0.115.0
🛑 Breaking changes 🛑
- (Splunk) Change default traces exporter to otlphttp exporter. (#5588).
See the upgrade guidelines on how to change existing configs to replace SAPM exporter. - (Core) Change all logged timestamps to ISO8601 (#10543).
This makes log timestamps human-readable (as opposed to epoch seconds in
scientific notation), but may break users trying to parse logged lines in the
old format. - (Contrib)
k8sattributesprocessor
: Move k8sattr.fieldExtractConfigRegex.disallow feature gate to Beta. (#25128)
Disable thek8sattr.fieldExtractConfigRegex.disallow
feature gate to get the old behavior.
🚀 New components 🚀
💡 Enhancements 💡
- (Splunk) Automatic Discovery:
- Switch bundled NGINX discovery to create OpenTelemetry NGINX receiver instead of the Smart Agent NGINX monitor (#5689)
- (Splunk) Expose internal metrics at default
localhost:8888
address instead of${SPLUNK_LISTEN_INTERFACE}:8888
(#5706)
This can be changed inservice::telemetry::metrics
section:This also removes a warning about deprecatedservice: telemetry: metrics: readers: - pull: exporter: prometheus: host: localhost port: 8888
service::telemetry::metrics::address
. - (Core)
exporterqueue
: Introduce a feature gate exporter.UsePullingBasedExporterQueueBatcher to use the new pulling model in exporter queue batching. (#8122, #10368)
If both queuing and batching is enabled for exporter, we now use a pulling model instead of a
pushing model. num_consumer in queue configuration is now used to specify the maximum number of
concurrent workers that are sending out the request. - (Core)
service
: Add support for ca certificates in telemetry metrics otlp grpc exporter (#11633)
Before this change the Certificate value in config was silently ignored. - (Contrib)
postgresqlreceiver
: Added new postgresql metrics to achieve parity with Telegraf (#36528) - (Contrib)
loadbalancingexporter
: Adding sending_queue, retry_on_failure and timeout settings to loadbalancing exporter configuration (#35378)
When switching to top-level sending_queue configuration - users should carefully review queue size
In some rare cases setting top-level queue size to n*queueSize might be not enough to prevent data loss - (Contrib)
routingconnector
: Add abiilty to route by 'datapoint' context (#36523) - (Contrib)
signalfxreceiver
: Follow receiver contract based on type of error (#5909)
Use 503 error code for retryable and 400 error code for not-retryable errors instead of responding with a 500 unconditionally.
🧰 Bug fixes 🧰
- (Core)
service
: ensure OTLP emitted logs respect severity (#11718) - (Core)
featuregate
: Fix an unfriendly display messageruntime error
when feature gate is used to display command line usage. (#11651) - (Contrib)
exporter/pulsarexporter
: Change configuration optionmap_connections_per_broker
, rename tomax_connections_per_broker
. (#36579) - (Contrib)
processor/k8sattribute
: fixes parsing of k8s image names to support images with tags and digests. (#36131) - (Contrib)
loadbalancingexporter
: The k8sresolver in loadbalancingexporter was triggering exporter churn in the way the change event was handled. (#35658) - (Contrib)
vcenterreceiver
: The existing code did not honor TLS settings beyond 'insecure'. All TLS client config should now be honored. (#36482)
🚩Deprecations 🚩
- (Splunk) Deprecate the collectd/genericjmx monitor. Please use the jmxreceiver instead. (#5539)
- (Splunk) Deprecate the collectd/activemq monitor. Please use the jmxreceiver with the activemq target system instead. (#5539)
- (Splunk) Deprecate the collectd/cassandra monitor. Please use the jmxreceiver with the cassandra target system instead. (#5539)
- (Splunk) Deprecate the collectd/hadoop monitor. Please use the jmxreceiver with the hadoop target system instead. (#5539)
- (Splunk) Deprecate the collectd/kafka monitor. Please use the jmxreceiver with the kafka target system instead. (#5539)
- (Splunk) Deprecate the collectd/kafka-consumer monitor. Please use the jmxreceiver with the kafka-consumer target system instead. (#5539)
- (Splunk) Deprecate the collectd/kafka-producer monitor. Please use the jmxreceiver with the kafka-producer target system instead. (#5539)
- (Splunk) Deprecate the collectd/solr monitor. Please use the jmxreceiver with the solr target system instead. (#5539)
- (Splunk) Deprecate the collectd/tomcat monitor. Please use the jmxreceiver with the tomcat target system instead. (#5539)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.115.0
- digest:
sha256:1f7f859a1ccccea22c1d1a32bb2f807b8368660b386851be13db02d706ea3b7c
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.115.0
- digest:
sha256:f03d72285f53bc14f88e71a3e323713b752dea5a0581eeddc285f44e74418215
v0.114.0
💡 Enhancements 💡
- (Contrib)
processor/k8sattributes
: Add support for profiles signal (#35983) - (Contrib)
receiver/k8scluster
: Add support for limiting observed resources to a specific namespace. (#9401)
This change allows to make use of this receiver withRoles
/RoleBindings
, as opposed to giving the collector cluster-wide read access. - (Contrib)
processor/resourcedetection
: Introduce support for Profiles signal type. (#35980) - (Contrib)
connector/routing
: Add ability to route by metric context (#36236) - (Contrib)
connector/routing
: Add ability to route by span context (#36276) - (Contrib)
processor/spanprocessor
: Add a new configuration option to keep the original span name when extracting attributes from the span name. (#36120) - (Contrib)
receiver/splunkenterprise
: Add new metrics for Splunk Enterprise dispatch artifacts caches (#36181)
🚩Deprecations 🚩
- (Splunk)
SPLUNK_TRACE_URL
environment variable is deprecated. It's replaced with${SPLUNK_INGEST_URL}/v2/trace
in the default configs. Default value forSPLUNK_TRACE_URL
is still set in the binary fromSPLUNK_REALM
or
SPLUNK_INGEST_URL
environment variables to not break existing configurations. However, it is recommended to
update the configurations to use${SPLUNK_INGEST_URL}/v2/trace
instead. (#5672).
🛑 Breaking changes 🛑
- (Splunk) Given that
SPLUNK_TRACE_URL
environment variable is deprecated and replaced with
${SPLUNK_INGEST_URL}/v2/trace
in the default configurations, the option to set the Trace URL has been removed from
all packaging and mass deployment solutions to an avoid confusion. (#5672).
🧰 Bug fixes 🧰
- (Splunk)
receiver/journald
: Upgrade journald client libraries in the Collector docker image by taking them from latest Debian image.
This fixes journald receiver on kubernetes nodes with recent versions of systemd (#5664). - (Core) scraperhelper: If the scraper shuts down, do not scrape first. (#11632)
When the scraper is shutting down, it currently will scrape at least once. With this change, upon receiving a shutdown order, the receiver's scraperhelper will exit immediately. - (Contrib)
pkg/stanza
: Ensure that time parsing happens before entry is sent to downstream operators (#36213) - (Contrib)
processor/k8sattributes
: Block when starting until the metadata have been synced, to fix that some data couldn't be associated with metadata when the agent was just started. (#32556) - (Contrib)
exporter/loadbalancing
: Shutdown exporters during collector shutdown. This fixes a memory leak. (#36024) - (Contrib)
pkg/ottl
: Respect thedepth
option when flattening slices usingflatten
(#36161)
Thedepth
option is also now required to be at least1
. - (Contrib)
pkg/stanza
: Synchronous handling of entries passed from the log emitter to the receiver adapter (#35453) - (Contrib)
receiver/prometheus
: Fix prometheus receiver to support static scrape config with Target Allocator (#36062)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.114.0
- digest:
sha256:bb2a8cb7e0ba9567f4f3af2be57787220ff808db258b53bd6bcb7d691efda93b
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.114.0
- digest:
sha256:866331331dfdc8ee6ac53537a5211f2c82891b0388fe944001d7e6b474efd502
v0.113.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.113.0 and the opentelemetry-collector-contrib v0.113.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Contrib)
sapmreceiver
: Remove the deprecated access_token_passthrough from SAPM receiver. (#35972)
Please useinclude_metadata
instead with the following config option applied to the batch processor:
batch:
metadata_keys: [X-Sf-Token]
- (Contrib)
pkg/ottl
: Promoteprocessor.transform.ConvertBetweenSumAndGaugeMetricContext
feature gate to Stable (#36216)
This gate can no longer be disabled. Theconvert_sum_to_gauge
andconvert_gauge_to_sum
may now only be used with themetric
context.
💡 Enhancements 💡
- (Contrib)
splunkenterprisereceiver
: Add telemetry around the Splunk Enterprise kv-store. (#35445) - (Contrib)
journaldreceiver
: adds ability to parse journald's MESSAGE field as a string if desired (#36005) - (Contrib)
journaldreceiver
: allows querying a journald namespace (#36031) - (Contrib)
hostmetricsreceiver
: Add the system.uptime metric in the hostmetrics receiver (#31627)
This metric is provided by the newsystem
scraper. - (Contrib)
hostmetrics
: Adjust scraper creation to make it so the scraper name is reported with hostmetrics scraper errors. (#35814) - (Contrib)
pkg/ottl
: Add SliceToMap function (#35256) - (Contrib)
journaldreceiver
: Restart journalctl if it exits unexpectedly (#35635) - (Contrib)
routingconnector
: Add ability to route by request metadata. (#19738) - (Contrib)
exporter/signalfx
: Enabling retrying for dimension properties update without tags in case of 400 response error. (#36044)
Property and tag updates are done using the same API call. After this change, the exporter will retry once to sync
properties in case of 400 response error. - (Contrib)
signalfxexporter
: Add more default metrics related to Kubernetes cronjobs, jobs, statefulset, and hpa (#36026) - (Contrib)
simpleprometheusreceiver
: Support to setjob_name
in config (#31502) - (Contrib)
solacereceiver
: Add support to the Solace Receiver to convert the newMove to Dead Message Queue
and newDelete
spans generated by Solace Event Broker to OTLP. (#36071) - (Contrib)
routingconnector
: Add ability to route log records individually using OTTL log record context. (#35939) - (Contrib)
splunkenterprisereceiver
: Add new metrics for Splunk Enterprise dispatch artifacts (#35950) - (Core)
batchprocessor
: Move single shard batcher creation to the constructor (#11594) - (Core)
service
: add support for using the otelzap bridge and emit logs using the OTel Go SDK (#10544)
🧰 Bug fixes 🧰
- (Contrib)
receiver/windowseventlog
: Fix panic when rendering long event messages. (#36179) - (Contrib)
hostmetricsreceiver
: Do not set the default value of HOST_PROC_MOUNTINFO to respect root_path (#35990) - (Contrib)
prometheusexporter
: Fixes an issue where the prometheus exporter would not shut down the server when the collector was stopped. (#35464) - (Contrib)
k8sobserver
: Enable observation of ingress objects if theObserveIngresses
config option is set to true (#35324) - (Contrib)
pkg/stanza
: Fixed bug causing Operators with DropOnErrorQuiet to send log entries to the next operator. (#35010)
This issue was introduced by a bug fix meant to ensure Silent Operators are not logging errors (#35010). With this fix,
this side effect bug has been resolved. - (Contrib)
splunkhecreceiver
: Avoid a memory leak by changing how we record obsreports for logs and metrics. (#35294) - (Contrib)
receiver/filelog
: fix record counting with header (#35869) - (Contrib)
connector/routing
: Fix detection of duplicate conditions in routing table. (#35962) - (Contrib)
solacereceiver
: The Solace receiver may unexpectedly terminate on reporting traces when used with a memory limiter processor and under high load (#35958) - (Contrib)
pkg/stanza/operator
: Retain Operator should propagate the severity field (#35832)
The retain operator should propagate the severity field like it does with timestamps. - (Contrib)
pkg/stanza
: Handle error of callback function ofParserOperator.ProcessWithCallback
(#35769)
ProcessWithCallback
ofParserOperator
first calls theParseWith
method
which properly handles errors withHandleEntryError
.
Then the callback function is called and its returned error should also
be handled by theHandleEntryError
ensuring a consistent experience. - (Core)
service
: ensure traces and logs emitted by the otel go SDK use the same resource information (#11578) - (Core)
config/configgrpc
: Patch for bug in the grpc-go NewClient that makes the way the hostname is resolved incompatible with the way proxy setting are applied. (#11537)
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.113.0
- digest:
sha256:d5758bd96efd837be26c2351f740a9e7723241bdccb6374b14d18da0a274fbd1
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.113.0
- digest:
sha256:f4ae66b62f79c75a56fd731de672003efcd50323b7fc02526f16461601567e5f
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
github.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]... |