Releases: signalfx/splunk-otel-collector
v0.98.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.98.0 and the opentelemetry-collector-contrib v0.98.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Remove the
bash
,curl
,nc
, andtar
command-line utilities from the collector packages/images and smart agent bundle (#4646) - (Splunk)
receiver/discovery
: Update metrics and logs evaluation statements schema:- Remove
severity_text
field from log evaluation statements (#4583) - Remove
first_only
field from match struct. Events are always emitted only once for first matching metric or log statement (#4593) - Combine matching conditions with different statuses in one list (#4588)
- Apply entity events schema to the logs emitted by the receiver (#4638)
- Emit only one log record per matched endpoint (#4586)
- Remove
- (Core)
service
: emit internal collector metrics with _ instead of / with OTLP export (#9774) - (Contrib)
oracledbreceiver
: Fix incorrect values being set for oracledb.tablespace_size.limit and oracledb.tablespace_size.usage (#31451)- Please grant the
DBA_TABLESPACE_USAGE_METRICS
permission to the user connecting to the Oracle DB instance to ensure all enabled metrics are properly ingested.
- Please grant the
- (Contrib)
pkg/stanza
: Revert recombine operator's 'overwrite_with' default value. (#30783) - (Contrib)
processor/attributes, processor/resource
: Remove stable coreinternal.attraction.hash.sha256 feature gate. (#31997)
🚩 Deprecations 🚩
- (Contrib)
postgresqlreceiver
: Minimal supported PostgreSQL version will be updated from 9.6 to 12.0 in a future release. (#30923)
Aligning on the supported versions as can be seen in the PostgreSQL releases section
🚀 New components 🚀
- (Splunk) Add SQL Server receiver (#4649)
💡 Enhancements 💡
- (Splunk) Automatically set
splunk_otlp_histograms: true
for collector telemetry exported viasignalfx
metrics exporter (#4655) - (Splunk) Windows installer now removes the unused configuration files from the installation directory (#4645)
- (Core)
otlpexporter
: Checks for port in the config validation for the otlpexporter (#9505) - (Core)
service
: Validate pipeline type against component types (#8007) - (Contrib)
ottl
: Add new Unix function to convert from epoch timestamp to time.Time (#27868) - (Contrib)
filelogreceiver
: When reading a file on filelogreceiver not on windows, if include_file_owner_name is true, it will add the file owner name as the attributelog.file.owner.name
and if include_file_owner_group_name is true, it will add the file owner group name as the attributelog.file.owner.group.name
. (#30775) - (Contrib) -
prometheusreceiver
: Allows receiving prometheus native histograms (#26555)- Native histograms are compatible with OTEL exponential histograms.
- The feature can be enabled via the feature gate
receiver.prometheusreceiver.EnableNativeHistograms
.
Run the collector with the command line option--feature-gates=receiver.prometheusreceiver.EnableNativeHistograms
. - Currently the feature also requires that targets are scraped via the ProtoBuf format.
To start scraping native histograms, set
config.global.scrape_protocols
to[ PrometheusProto, OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ]
in the
receiver configuration. This requirement will be lifted once Prometheus can scrape native histograms over text formats. - For more up to date information see the README.md file of the receiver at
https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/prometheusreceiver/README.md#prometheus-native-histograms.
- (Contrib)
spanmetricsconnector
: Change default value of metrics_flush_interval from 15s to 60s (#31776) - (Contrib)
pkg/ottl
: Adding a string converter into pkg/ottl (#27867) - (Contrib)
loadbalancingexporter
: Support the timeout period of k8s resolver list watch can be configured. (#31757)
🧰 Bug fixes 🧰
- (Splunk)
discovery
: Don't use component.MustNewIDWithName (#4565) - (Core)
configtls
: Fix issue whereIncludeSystemCACertsPool
was not consistently used betweenServerConfig
andClientConfig
. (#9835) - (Core)
component
: Fix issue where thecomponents
command wasn't properly printing the component type. (#9856) - (Core)
otelcol
: Fix issue where thevalidate
command wasn't properly printing valid component type. (#9866) - (Core)
receiver/otlp
: Fix bug where the otlp receiver did not properly respond with a retryable error code when possible for http (#9357) - (Contrib)
filelogreceiver
: Fix missing scope name and group logs based on scope (#23387) - (Contrib)
jmxreceiver
: Fix memory leak during component shutdown (#32289) - (Contrib)
k8sobjectsreceiver
: Fix memory leak caused by the pull mode's interval ticker (#31919) - (Contrib)
kafkareceiver
: fix kafka receiver panic on shutdown (#31926) - (Contrib)
prometheusreceiver
: Fix a bug where a new prometheus receiver with the same name cannot be created after the previous receiver is Shutdown (#32123) - (Contrib)
resourcedetectionprocessor
: Only attempt to detect Kubernetes node resource attributes when they're enabled. (#31941) - (Contrib)
syslogreceiver
: Fix issue where static resource and attributes were ignored (#31849)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.98.0-amd64
(digest:sha256:6255d8b1ebb3cd95577d192f43e5ac08c029fd065eb720e54854ded7967e21b6
)quay.io/signalfx/splunk-otel-collector:0.98.0-arm64
(digest:sha256:1370cefd0fd33f0e691a152887b511c716b0044189b85743bfe474593f6b5a86
)quay.io/signalfx/splunk-otel-collector:0.98.0-ppc64le
(digest:sha256:ab3bf871fda3b21f770539882c9147e8bf1329d2a20ddb52f546fa0e9e223edf
)quay.io/signalfx/splunk-otel-collector-windows:0.98.0
(digest:sha256:d26e509ecf5e748c00c3381f171a7c6aa3e9a6b36ce401f7bd72c8269989ee78
)quay.io/signalfx/splunk-otel-collector-windows:0.98.0-2019
(digest:sha256:578bc9ebf571bbd011e6baf9977d844868b09219fe8e8c46e2fdf45af60d882b
)quay.io/signalfx/splunk-otel-collector-windows:0.98.0-2022
(digest:sha256:00ff87e429aaea23e17f9769faca0b99ee886293bb3b3d342428c2470531c676
)
v0.97.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.97.0 and the opentelemetry-collector-contrib v0.97.0 releases where appropriate.
⚠️ Upgrade guidelines regarding the collector memory ballast. ⚠️
reproduced from repository README
memory_ballast
is no longer effective. The garbage collection is now controlled by the soft memory limit set to 90% of total memory (SPLUNK_MEMORY_TOTAL_MIB
env var) by default.
If you haven't customized the memory_ballast
, just remove it from the configuration.
If you have customized it via SPLUNK_BALLAST_SIZE_MIB
(or extensions::memory_ballast::size_mib
config), you should remove the memory_ballast
extension and use the GOMEMLIMIT
environment variable to set a custom soft memory limit:
To increase frequency of garbage collections: set GOMEMLIMIT
to a higher value than the default 90% of total memory.
To decrease frequency of garbage collections: set GOMEMLIMIT
to a lower value than the default 90% of total memory.
🚀 New components 🚀
- (Splunk) Add AWS container insights receiver (#4125)
- (Splunk) Add AWS ECS container metrics receiver (#4125)
- (Splunk) Add Apache metrics receiver (#4505)
💡 Enhancements 💡
- (Splunk)
memory_ballast
has been removed. If GOMEMLIMIT env var is not set, then 90% of the total available memory limit is set by default. (#4404)
Please review the upgrade guidelines in the README. - (Splunk) Support Windows offline installations (#4471)
- (Core)
configtls
: Validates TLS min_version and max_version (#9475)
IntroducesValidate()
method in TLSSetting. - (Contrib)
exporter/loadbalancingexporter
: Adding AWS Cloud Map for service discovery of Collectors backend. (#27241) - (Contrib)
awss3exporter
: addcompression
option to enable file compression on S3 (#27872)
Addcompression
option to compress files usingcompress/gzip
library before uploading to S3. - (Contrib)
awss3exporter
: Add support for encoding extension to awss3exporter (#30554) - (Contrib)
deltatocumulativeprocessor
: introduce configurable stream limit (#31488)
Addsmax_streams
option that allows to set upper bound (default = unlimited)
to the number of tracked streams. Any additional streams exceeding the limit
are dropped. - (Contrib)
fileexporter
: Adopt the encoding extension with the file exporter. (#31774) - (Contrib)
pkg/ottl
: AddParseXML
function for parsing XML from a target string. (#31133) - (Contrib)
fileexporter
: Added the option to write telemetry data into multiple files, where the file path is based on a resource attribute. (#24654) - (Contrib)
fileexporter
: File write mode is configurable now (truncate or append) (#31364) - (Contrib)
k8sclusterreceiver
: add optional status_last_terminated_reason resource attribute (#31282) - (Contrib)
prometheusreceiver
: Use confighttp for target allocator client (#31449) - (Contrib)
spanmetricsconnector
: Addmetrics_expiration
option to enable expiration of metrics if spans are not received within a certain time frame. (#30559)
The feature can be configured by specifiying the desired duration in themetrics_expiration
option. By default, the expiration is disabled (set to 0).
🛑 Breaking changes 🛑
- (Splunk)
collectd/kong
: Removecollectd/kong
. Please use the Prometheus receiver instead. (#4420) - (Splunk)
spanmetricsprocessor
: Removespanmetricsprocessor
. Please usespanmetrics
connector instead. (#4454) - (Core)
telemetry
: Remove telemetry.useOtelForInternalMetrics stable feature gate (#9752) - (Contrib)
receiver/postgresql
: Bump postgresqlreceiver.preciselagmetrics gate to beta (#31220) - (Contrib)
receiver/vcenter
: Bump receiver.vcenter.emitPerfMetricsWithObjects feature gate to stable (#31215) - (Contrib)
prometheusreceiver
: Remove enable_protobuf_negotiation option on the prometheus receiver. Use config.global.scrape_protocols = [ PrometheusProto, OpenMetricsText1.0.0, OpenMetricsText0.0.1, PrometheusText0.0.4 ] instead. (#30883)
See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file for details on setting scrape_protocols. - (Contrib)
vcenterreceiver
: Fixed the resource attribute model to more accurately support multi-cluster deployments (#30879)
For more information on impacts please refer open-telemetry/opentelemetry-collector-contrib#31113. The main impacts are that
thevcenter.resource_pool.name
,vcenter.resource_pool.inventory_path
, andvcenter.cluster.name
are reported with more accuracy on VM metrics.
🧰 Bug fixes 🧰
- (Splunk)
telemetry
: Simplify the config converter setting themetric_relabel_configs
in the Prometheus receiver
to remove the excessive internal metrics. Now, it only overrides the old default rule excluding.*grpc_io.*
metrics.
Any other custom setting is left untouched. Otherwise, customizing themetric_relabel_configs
is very difficult.
(#4482) - (Core)
exporterhelper
: Fix persistent queue size backup on reads. (#9740) - (Core)
processor/batch
: Prevent starting unnecessary goroutines. (#9739) - (Core)
otlphttpexporter
: prevent error on empty response body when content type is application/json (#9666) - (Core)
otelcol
: Respect telemetry configuration when running as a Windows service (#5300) - (Contrib)
carbonreceiver
: Do not report fatal error when closed normally (#31913) - (Contrib)
exporter/loadbalancing
: Fix panic when a sub-exporter is shut down while still handling requests. (#31410) - (Contrib)
hostmetricsreceiver
: Adds the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate to optionally normalize process.cpu.utilization values. (#31368)
When enabled, the receiver.hostmetrics.normalizeProcessCPUUtilization feature gate will cause process.cpu.utilization values to be divided by the number of logical cores on the system. This is necessary to produce a value on the interval of [0-1], as the description of process.cpu.utilization the metric says. - (Contrib)
transformprocessor
: Change metric unit for metrics extracted withextract_count_metric()
to be the default unit (1
) (#31575)
The original metricunit
does not apply to extractedcount
metrics the same way it does tosum
,min
ormax
.
Metrics extracted usingextract_count_metric()
now use the more appropriate default unit (1
) instead. - (Contrib)
loadbalancingexporter
: Fix memory leaks on shutdown (#31050) - (Contrib)
signalfxexporter
: Fix memory leak in shutdown (#30864, #30438) - (Contrib)
processor/k8sattributes
: Allows k8sattributes processor to work with k8s role/rolebindings when filter::namespace is set. ([#14742](https://github.com/ope...
v0.96.1
v0.96.1
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.96.0 and the opentelemetry-collector-contrib v0.96.0 releases where appropriate.
🚀 New components 🚀
- (Splunk) Add the
cumulativetodelta
processor (#4401)
🛑 Breaking changes 🛑
- (Splunk)
databricksreceiver
: Removedatabricks
receiver, as it will be rebuilt upstream (#4415) - (Core)
configgrpc
: Remove deprecatedGRPCClientSettings
,GRPCServerSettings
, andServerConfig.ToListenerContext
. (#9616) - (Core)
confighttp
: Remove deprecatedHTTPClientSettings
,NewDefaultHTTPClientSettings
, andCORSSettings
. (#9625) - (Core)
confignet
: Removes deprecatedNetAddr
andTCPAddr
(#9614) - (Contrib)
spanmetricsprocessor
: Remove spanmetrics processor (#29567)- You can use the spanmetrics connector as a replacement
- (Contrib)
httpforwarder
: Remove extension named httpforwarder, use httpforwarderextension instead. (#24171) - (Contrib)
k8sclusterreceiver
: Remove deprecated k8s.kubeproxy.version resource attribute (#29748)
💡 Enhancements 💡
- (Splunk) Bump github.com/prometheus/common from 0.46.0 to 0.49.0 (#4353)
- (Splunk) Bumps aquasecurity/trivy-action from 0.17.0 to 0.18.0 (#4382)
- (Splunk) Update splunk-otel-javaagent to latest (#4402)
- (Splunk) Add X-SF-Token header to the configuration masked keys (#4403)
- (Splunk) Bump setuptools in /internal/signalfx-agent/bundle/script(#4330)
- (Splunk) Rocky Linux installation support (#4398)
- (Splunk) Add a test to check what we choose to redact (#4406)
- (Splunk) Fixed high alert vulnerabity (#4407)
- (Splunk) Update pgproto to 2.3.3 (#4409)
- (Core)
configtls
: Addinclude_system_ca_certs_pool
to configtls, allowing to load system certs and additional custom certs. (#7774) - (Core)
otelcol
: AddConfigProviderSettings
toCollectorSettings
(#4759)
This allows passing a custom list ofconfmap.Provider
s tootelcol.NewCommand
. - (Core)
pdata
: Update to OTLP v1.1.0 (#9587)
Introduces Span and SpanLink flags. - (Core)
confmap
: Update mapstructure to use a maintained fork, github.com/go-viper/mapstructure/v2. (#9634)
See mitchellh/mapstructure#349 for context. - (Contrib)
statsdreceiver
: Add support for the latest version of DogStatsD protocol (v1.3) (#31295) - (Contrib)
fileexporter
: Scope the behavior of the fileexporter to its lifecycle, so it is safe to shut it down or restart it. (#27489) - (Contrib)
processor/resourcedetection
: Addprocessor.resourcedetection.hostCPUSteppingAsString
feature gate to change the type ofhost.cpu.stepping
fromint
tostring
. (#31136)
This feature gate will graduate to beta in the next release. - (Contrib)
routingconnector
: a warning is logged if there are two or more routing items with the same routing statement (#30663) - (Contrib)
pkg/ottl
: Add new IsInt function to facilitate type checking. (#27894) - (Contrib)
cmd/mdatagen
: Make lifecycle tests generated by default (#31532) - (Contrib)
pkg/stanza
: Improve timestamp parsing documentation (#31490) - (Contrib)
postgresqlreceiver
: Addreceiver.postgresql.connectionPool
feature gate to reuse database connections (#30831)
The default implementation recreates and closes connections on each scrape per database configured/discovered.
This change offers a feature gated alternative to keep connections open. Also, it exposes connection configuration to control the behavior of the pool. - (Core)
configretry
: Allow max_elapsed_time to be set to 0 for indefinite retries (#9641) - (Core)
client
: MakeMetadata.Get
thread safe (#9595) - (Contrib)
carbonreceiver
: Accept carbon metrics with float timestamps (#31312) - (Contrib)
journaldreceiver
: Fix bug where failed startup could bury error message due to panic during shutdown (#31476) - (Contrib)
loadbalancingexporter
: Fixes a bug where the endpoint become required, despite not being used by the load balancing exporter. (#31371) - (Contrib)
oracledbreceiver
: Use metadata.Type for the scraper id to avoid invalid scraper IDs. (#31457) - (Contrib)
filelogreceiver
: Fix bug where delete_after_read would cause panic (#31383) - (Contrib)
receiver/filelog
: Fix issue where file fingerprint could be corrupted while reading. (#22936)
New Contributors
- @dmitrykruglov made their first contribution in #4401
- @yaleman made their first contribution in #4357
Full Changelog: v0.95.0...v0.96.1
v0.96.0
Please use v0.96.1.
v0.95.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.95.0 and the opentelemetry-collector-contrib v0.95.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk/Core/Contrib) Bump minimum version to go 1.21 (#4390)
- (Core)
all
: scope name for all generated Meter/Tracer funcs now includes full package name (#9494) - (Contrib)
receiver/mongodb
: Bump receiver.mongodb.removeDatabaseAttr feature gate to beta (#31212) - (Contrib)
extension/filestorage
: Thefilestorage
extension is now a standalone module. (#31040)
💡 Enhancements 💡
- (Splunk) MSI defaults to per machine install to avoid issues when different administrators install and update the collector on the same Windows machine (#4352)
- (Core)
confighttp
: Adds support for Snappy decompression of HTTP requests. (#7632) - (Core)
configretry
: Validatemax_elapsed_time
, ensure it is larger thanmax_interval
andinitial_interval
respectively. (#9489) - (Core)
configopaque
: Mark module as stable (#9167) - (Core)
otlphttpexporter
: Add support for json content encoding when exporting telemetry (#6945) - (Core)
confmap/converter/expandconverter, confmap/provider/envprovider, confmap/provider/fileprovider, confmap/provider/httprovider, confmap/provider/httpsprovider, confmap/provider/yamlprovider
: Split confmap.Converter and confmap.Provider implementation packages out of confmap. (#4759, #9460) - (Contrib)
hostmetricsreceiver
: Add a new optional resource attributeprocess.cgroup
to theprocess
scraper of thehostmetrics
receiver. (#29282) - (Contrib)
awss3exporter
: Add a marshaler that stores the body of log records in s3. (#30318) - (Contrib)
pkg/ottl
: Adds a new ParseCSV converter that can be used to parse CSV strings. (#30921) - (Contrib)
loadbalancingexporter
: Add benchmarks for Metrics and Traces (#30915) - (Contrib)
pkg/ottl
: Add support to specify the format for a replacement string (#27820) - (Contrib)
pkg/ottl
: AddParseKeyValue
function for parsing key value pairs from a target string (#30998) - (Contrib)
receivercreator
: Remove use ofReportFatalError
(#30596) - (Contrib)
processor/tail_sampling
: Add metrics that measure the number of sampled spans and the number of spans that are dropped due to sampling decisions. (#30482) - (Contrib)
exporter/signalfx
: Send histograms in otlp format with new configsend_otlp_histograms
option (#26298) - (Contrib)
receiver/signalfx
: Accept otlp protobuf requests when content-type is "application/x-protobuf;format=otlp" (#26298) - (Contrib)
signalfxreceiver
: Remove deprecated use ofhost.ReportFatalError
(#30598)
🧰 Bug fixes 🧰
- (Contrib)
pkg/stanza
: Add 'allow_skip_pri_header' flag to syslog setting. (#30397)
Allow parsing syslog records without PRI header. Currently pri header is beng enforced although it's not mandatory by the RFC standard. Since influxdata/go-syslog is not maintained we had to switch to haimrubinstein/go-syslog. - (Contrib)
extension/storage
: Ensure fsync is turned on after compaction (#20266) - (Contrib)
logstransformprocessor
: Fix potential panic on shutdown due to incorrect shutdown order (#31139) - (Contrib)
receiver/prometheusreceiver
: prometheusreceiver fix translation of metrics with _created suffix (#30309) - (Contrib)
pkg/stanza
: Fixed a bug in the keyvalue_parser where quoted values could be split if they contained a delimited. (#31034)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.95.0-amd64
(digest:sha256:f465f4c173a5f4c684429a0c3118ce5765d1f2271ba5d37eb9a25c10be7f0f6f
)quay.io/signalfx/splunk-otel-collector:0.95.0-arm64
(digest:sha256:9d6389327f2209b362b40f165d6ded6bdf6a517245bb17b22d984cc5b81e1cb7
)quay.io/signalfx/splunk-otel-collector:0.95.0-ppc64le
(digest:sha256:03f52ed265158b3e4c250f474f59bbcd4c9c17e1393f4c4dcb0877a32a8709a1
)quay.io/signalfx/splunk-otel-collector-windows:0.95.0
(digest:sha256:40f49888280c1ff8536f5eba4c34cc05546563400776b13235db73f27fc50dc5
)quay.io/signalfx/splunk-otel-collector-windows:0.95.0-2019
(digest:sha256:364cd18a62bd6ab090bd6eb4748d24b1172e7bdfd0b8e1d21f9b06a9f054860d
)quay.io/signalfx/splunk-otel-collector-windows:0.95.0-2022
(digest:sha256:47cfb6a2ece9de5db4e6df9f09721c9b9a1bb05ebe28b50253bad15b2c046f7a
)
v0.94.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.94.1 and the opentelemetry-collector-contrib v0.94.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) The Splunk OpenTelemetry Collector Windows install script
now installs the Splunk Distribution of OpenTelemetry .NET
instead of the SignalFx Instrumentation for .NET
when the parameter-with_dotnet_instrumentation
is set to$true
(#4343) - (Core)
receiver/otlp
: Update gRPC code fromcodes.InvalidArgument
tocodes.Internal
when a permanent error doesn't contain a gRPC status (#9415) - (Contrib)
kafkareceiver
: standardizes the default topic name for metrics and logs receivers to the same topic name as the metrics and logs exporters of the kafkaexporter (#27292)
If you are using the Kafka receiver in a logs and/or a metrics pipeline
and you are not customizing the name of the topic to read from with thetopic
property,
the receiver will now read fromotlp_logs
orotlp_metrics
topic instead ofotlp_spans
topic.
To maintain previous behavior, set thetopic
property tootlp_spans
. - (Contrib)
pkg/stanza
: Entries are no longer logged during error conditions. (#26670)
This change is being made to ensure sensitive information contained in logs are never logged inadvertently.
This change is a breaking change because it may change user expectations. However, it should require
no action on the part of the user unless they are relying on logs from a few specific error cases. - (Contrib)
pkg/stanza
: Invert recombine operator's 'overwrite_with' default value. (#30783)
Previously, the default value wasoldest
, meaning that the recombine operator should emit the
first entry from each batch (with the recombined field). However, the actual behavior was inverted.
This fixes the bug but also inverts the default setting so as to effectively cancel out the bug fix
for users who were not using this setting. For users who were explicitly settingoverwrite_with
,
this corrects the intended behavior.
🚩 Deprecations 🚩
- (Core)
configgrpc
: Deprecate GRPCClientSettings, use ClientConfig instead (#6767)
💡 Enhancements 💡
- (Splunk) Add a resource attribute to internal metrics to track discovery usage (#4323)
- (Splunk) Create a multi-architecture Windows docker image for the collector (#4296)
- (Splunk) Bump
splunk-otel-javaagent
tov1.30.2
(#4300) - (Core)
mdatagen
: Add a generated test that checks the config struct usingcomponenttest.CheckConfigStruct
(#9438) - (Core)
component
: Addcomponent.UseLocalHostAsDefaultHost
feature gate that changes default endpoints from 0.0.0.0 to localhost (#8510)
The only component in this repository affected by this is the OTLP receiver. - (Core)
confighttp
: Add support of Host header (#9395) - (Core)
mdatagen
: Remove use of ReportFatalError in generated tests (#9439) - (Contrib)
receiver/journald
: add a new config option "all" that turns on full output from journalctl, including lines that are too long. (#30920) - (Contrib)
pkg/stanza
: Add support in a header configuration for json array parser. (#30321) - (Contrib)
awss3exporter
: Add the ability to export trace/log/metrics in OTLP ProtoBuf format. (#30682) - (Contrib)
dockerobserver
: Upgrading Docker API version default from 1.22 to 1.24 (#30900) - (Contrib)
filterprocessor
: move metrics from OpenCensus to OpenTelemetry (#30736) - (Contrib)
groupbyattrsprocessor
: move metrics from OpenCensus to OpenTelemetry (#30763) - (Contrib)
loadbalancingexporter
: Optimize metrics and traces export (#30141) - (Contrib)
all
: Addcomponent.UseLocalHostAsDefaultHost
feature gate that changes default endpoints from 0.0.0.0 to localhost (#30702)
This change affects the following components:- extension/health_check
- receiver/jaeger
- receiver/sapm
- receiver/signalfx
- receiver/splunk_hec
- receiver/zipkin
- (Contrib)
processor/resourcedetectionprocessor
: Detect Azure cluster name from IMDS metadata (#26794) - (Contrib)
processor/transform
: Addcopy_metric
function to allow duplicating a metric (#30846)
🧰 Bug fixes 🧰
- (Splunk) Fixes the value of a default environment variable used by Windows msi. (#4361)
- (Core)
service
: fix opencensus bridge configuration in periodic readers (#9361) - (Core)
otlpreceiver
: Fix goroutine leak when GRPC server is started but HTTP server is unsuccessful (#9165) - (Core)
otlpexporter
: PartialSuccess is treated as success, logged as warning. (#9243) - (Contrib)
basicauthextension
: Accept empty usernames. (#30470)
Per https://datatracker.ietf.org/doc/html/rfc2617#section-2, username and password may be empty strings ("").
The validation used to enforce that usernames cannot be empty. - (Contrib)
pkg/ottl
: Fix parsing of string escapes in OTTL (#23238) - (Contrib)
pkg/stanza
: Recombine operator should always recombine partial logs (#30797)
Previously, certain circumstances could result in partial logs being emitted without any
recombiniation. This could occur when usingis_first_entry
, if the first partial log from
a source was emitted before a matching "start of log" indicator was found. This could also
occur when the collector was shutting down. - (Contrib)
pkg/stanza
: Fix bug where recombine operator's 'overwrite_with' condition was inverted. (#30783) - (Contrib)
exporter/signalfx
: Use "unknown" value for the environment correlation calls as fallback. (#31052)
This fixed the APM/IM correlation in the Splunk Observability UI for the users that send traces with no "deployment.environment" resource attribute value set.
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.94.0-amd64
(digest:sha256:6d89f4d866af70e3d83880b355c8c3a3cac0c9bdabaf3ea9312250cf7c917649
)quay.io/signalfx/splunk-otel-collector:0.94.0-arm64
(digest:sha256:15a090e07e61ec752471088e6db65f74540870c2942d162ecb866619fd7f9170
)quay.io/signalfx/splunk-otel-collector:0.94.0-ppc64le
(digest:sha256:2e640ccd1e46b9e707de7e991073baf1376ea8b2b869ec75bec0045a08018dab
)quay.io/signalfx/splunk-otel-collector-windows:0.94.0
(digest:sha256:fd2683b996d6a0a79378576a705b0edc0a326df32c12cad87615307adf128a31
)quay.io/signalfx/splunk-otel-collector-windows:0.94.0-2019
(digest:sha256:dec27aad01f6991e0535c37555682ae697827af2461fd14c09bd5e3cc7184efd
)quay.io/signalfx/splunk-otel-collector-windows:0.94.0-2022
(digest:sha256:9b8cee1d6ba55bcbec2b280d1f23d6a69b556298d945618e62bca7e2fea6d22f
)
v0.93.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.93.0 and the opentelemetry-collector-contrib v0.93.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) On Windows the
SPLUNK_*
environment variables were moved from the machine scope to the collector service scope This avoids collisions with other agents and instrumentation. If any of these environment variables are required by your apps, please adopt them directly. (#3930) - (Splunk)
mysql
discovery now uses the OpenTelemetry Collector Contrib receiver by default instead of the smartagent receiver. (#4231) - (Splunk) Stop sending internal Collector metrics from the batch processor. Drop them at the prometheus receiver level. (#4273)
- (Core) exporterhelper: remove deprecated exporterhelper.RetrySettings and exporterhelper.NewDefaultRetrySettings (#9256)
- (Contrib)
vcenterreceiver
: "receiver.vcenter.emitPerfMetricsWithObjects" feature gate is beta and enabled by default (#30615) - (Contrib)
docker
: Adopt api_version as strings to correct invalid float truncation (#24025) - (Contrib)
extension/filestorage
: Replace path-unsafe characters in component names (#3148)
The feature gateextension.filestorage.replaceUnsafeCharacters
is now enabled by default.
See the File Storage extension's README for details. - (Contrib)
postgresqlreceiver
: add feature gatereceiver.postgresql.separateSchemaAttr
to include schema as separate attribute (#29559)
Enabling the featuregate adds a new resource attribute to store the schema of the table or index
Existing table attributes are adjusted to not include the schema, which was inconsistently used
💡 Enhancements 💡
- (Splunk) Update opentelemetry-jmx-metrics version to 1.32.0 (#4201)
- (Core)
configtls
: addcipher_suites
to configtls. (#8105)
Users can specify a list of cipher suites to pick from. If left blank, a safe default list is used. - (Core)
service
: marktelemetry.useOtelForInternalMetrics
as stable (#816)
(Splunk) Remove disabledtelemetry.useOtelForInternalMetrics
feature gate from our distribution. Some new internal metrics are now dropped at scrape time. - (Core)
exporters
: Cleanup log messages for export failures (#9219)- Ensure an error message is logged every time and only once when data is dropped/rejected due to export failure.
- Update the wording. Specifically, don't use "dropped" term when an error is reported back to the pipeline.
Keep the "dropped" wording for failures happened after the enabled queue. - Properly report any error reported by a queue. For example, a persistent storage error must be reported as a storage error, not as "queue overflow".
- (Contrib)
pkg/stanza
: Add a json array parser operator and an assign keys transformer. (#30321)
Json array parser opreator can be used to parse a json array string input into a list of objects. |
Assign keys transformer can be used to assigns keys from the configuration to an input list - (Contrib)
splunkhecexporter
: Batch data according to access token and index, if present. (#30404) - (Contrib)
k8sattributesprocessor
: Apply lifecycle tests to k8sprocessor, change its behavior to report fatal error (#30387) - (Contrib)
k8sclusterreceiver
: add new disabled os.description, k8s.container_runtime.version resource attributes (#30342) - (Contrib)
k8sclusterreceiver
: add os.type resource attribute (#30342) - (Contrib)
kubeletstatsreceiver
: Add new*.cpu.usage
metrics. (#25901) - (Contrib)
pkg/ottl
: Addflatten
function for flattening maps (#30455) - (Contrib)
redisreciever
: adds metric for slave_repl_offset (#6942)
also adds a shell script to set up docker-compose integration test - (Contrib)
receiver/sqlquery
: Add debug log when running SQL query (#29672)
🧰 Bug fixes 🧰
- (Core)
otlpreceiver
: Ensure OTLP receiver handles consume errors correctly (#4335)
Make sure OTLP receiver returns correct status code and follows the receiver contract (gRPC) - (Core)
zpagesextension
: Remove mention of rpcz page from zpages extension (#9328) - (Contrib)
kafkareceiver
: The Kafka receiver now exports some partition-specific metrics per-partition, with apartition
tag (#30177)
The following metrics now render per partition:- kafka_receiver_messages
- kafka_receiver_current_offset
- kafka_receiver_offset_lag
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.93.0-amd64
(digest:sha256:c2237acb476ce38263b4709326d9f9f3859d0f32de9ef8c5fde5bf6017ef8b39
)quay.io/signalfx/splunk-otel-collector:0.93.0-arm64
(digest:sha256:52edfef95657a1058487456d8e5fe3fe9298fd65806b2c89b80ee1375c406f75
)quay.io/signalfx/splunk-otel-collector:0.93.0-ppc64le
(digest:sha256:8ee5a2979c84792aab5c9ea484e188f1614d9dd89fd0b3baa6c410200be72917
)quay.io/signalfx/splunk-otel-collector-windows:0.93.0
(digest:sha256:77f91c139ca080d61253816e5929c4b88fe0ade88d51567481473cba56414900
)quay.io/signalfx/splunk-otel-collector-windows:0.93.0-2022
(digest:sha256:c0e5c0870c199ec5f1c4b71aee61507abd67f9acd5defe3dad2511e78404ffa8
)
v0.92.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.92.0 and the opentelemetry-collector-contrib v0.92.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Contrib)
httpforwarder
: Use confighttp.HTTPDefaultClientSettings when configuring the HTTPClientSettings for the httpforwarder extension. (#6641)
By default, the HTTP forwarder extension will now use the defaults set in the extension:- The idle connection timeout is set to 90s.
- The max idle connection count is set to 100.
- (Contrib)
pkg/ottl
: Now validates against extraneous path segments that a context does not know how to use. (#30042) - (Contrib)
pkg/ottl
: Throw an error if keys are used on a path that does not allow them. (#30162) - (Core)
exporters/sending_queue
: Do not re-enqueue failed batches, rely on the retry_on_failure strategy instead. (#8382)
The current re-enqueuing behavior is not obvious and cannot be configured. It takes place only for persistent queue
and only ifretry_on_failure::enabled=true
even ifretry_on_failure
is a setting for a different backoff retry
strategy. This change removes the re-enqueuing behavior. Consider increasingretry_on_failure::max_elapsed_time
to reduce chances of data loss or set it to 0 to keep retrying until requests succeed. - (Core)
confmap
: Make the optionWithErrorUnused
enabled by default when unmarshaling configuration (#7102)
The optionWithErrorUnused
is now enabled by default, and a new optionWithIgnoreUnused
is introduced to ignore
errors about unused fields.
🚩 Deprecations 🚩
- (Contrib)
k8sclusterreceiver
: deprecate optional k8s.kubeproxy.version resource attribute (#29748) - (Core)
exporterhelper
: Deprecate exporterhelper.RetrySettings in favor of configretry.BackOffConfig (#9091) - (Core)
extension/ballast
: Deprecatememory_ballast
extension. (#8343)
UseGOMEMLIMIT
environment variable instead.
💡 Enhancements 💡
- (Splunk) support core service validate command (#4175)
- (Splunk) Add routing connector to Splunk distribution (#4167)
- (Contrib) adopt splunkhec batch by token and index updates (#4151)
- (Contrib)
vcenterreceiver
: Add explicit statement of support for version 8 of ESXi and vCenter (#30274) - (Contrib)
routingconnector
: routingconnector supports matching the statement only once (#26353) - (Contrib)
filterprocessor
: Add telemetry for metrics, logs, and spans that were intentionally dropped via filterprocessor. (#13169) - (Contrib)
pkg/ottl
: Add Hour OTTL Converter (#29468) - (Contrib)
kafkaexporter
: add ability to publish kafka messages with message key of TraceID - it will allow partitioning of the kafka Topic. (#12318) - (Contrib)
kafkareceiver
: Add three new metrics to record unmarshal errors. (#29302) - (Contrib)
hostmetricsreceiver
: Addsystem.memory.limit
metric reporting the total memory available. (#30306)
This metric is opt-in. To enable it, setscrapers::memory::metrics::system.memory.limit::enabled
totrue
in the hostmetrics config. - (Contrib)
kafkaexporter
: Adds the ability to configure the Kafka client's Client ID. (#30144) - (Contrib)
pkg/stanza
: Remove sampling policy from logger (#23801) - (Contrib)
resourcedetectionprocessor
: Add "aws.ecs.task.id" attribute (#8274)
Resourcedetectionprocessor now exports "aws.ecs.task.id" attribute, in addition to "aws.ecs.task.arn".
This allows exporters like "awsemfexporter" to automatically pick up that attribute and make it available
in templating (e.g. to use in CloudWatch log stream name). - (Contrib)
spanmetricsconnector
: Fix OOM issue for spanmetrics by limiting the number of exemplars that can be added to a unique dimension set (#27451) - (Contrib)
connector/spanmetrics
: Configurable resource metrics key attributes, filter the resource attributes used to create the resource metrics key. (#29711)
This enhancement can be used to fix broken spanmetrics counters after a span producing service restart, when resource attributes contain dynamic/ephemeral values (e.g. process id). - (Contrib)
splunkhecreceiver
: Returns json response in raw endpoint when it is successful (#29875) - (Contrib)
sqlqueryreceiver
: Swap MS SQL Server driver from legacy 'denisenkom' to official Microsoft fork (#27200) - (Core)
exporterhelper
: Add RetrySettings validation function (#9089)
Validate that time.Duration, multiplier values in configretry are non-negative, and randomization_factor is between 0 and 1 - (Core)
service
: Enabletelemetry.useOtelForInternalMetrics
by updating the flag to beta (#7454)
The metrics generated should be consistent with the metrics generated
previously with OpenCensus. Splunk note: this option is disabled in our distribution. Users can enable the behaviour
by setting--feature-gates +telemetry.useOtelForInternalMetrics
at collector start if the new histograms are desired. - (Core)
confignet
: Adddialer_timeout
config option. (#9066) - (Core)
processor/memory_limiter
: Update config validation errors (#9059)- Fix names of the config fields that are validated in the error messages
- Move the validation from start to the initialization phrase
- (Core)
exporterhelper
: Add config Validate for TimeoutSettings (#9104)
🧰 Bug fixes 🧰
- (Contrib)
filterset
: Fix concurrency issue when enabling caching. (#11829) - (Contrib)
pkg/ottl
: Fix issue with the hash value of a match subgroup in replace_pattern functions. (#29409) - (Contrib)
prometheusreceiver
: Fix configuration validation to allow specification of Target Allocator configuration without providing scrape configurations (#30135) - (Contrib)
wavefrontreceiver
: Return error if partially quoted (#30315) - (Contrib)
hosmetricsreceiver
: change cpu.load.average metrics from 1 to {thread} (#29914) - (Contrib)
pkg/ottl
: Fix bug where the ConverterIsBool
was not usable (#30151) - (Contrib)
time
: The%z
strptime format now correctly parsesZ
as a valid timezone (#29929)
strptime(3)
says that%z
is "an RFC-822/ISO 8601 standard
timezone specification", but the previous code did not allow the
string "Z" to signify UTC time, as required by ISO 8601. Now, both
+0000
andZ
are recognized as UTC times in all components that
handlestrptime
format strings. - (Core)
memorylimiterprocessor
: Fixed leaking goroutines from memorylimiterprocessor (#9099) - (Core)
cmd/otelcorecol
: Fix the code detecting if the collector is running as a service on Windows. (#7350)
Removed theNO_WINDOWS_SERVICE
environment variable given it is not needed anymore. - (Core)
otlpexporter
: remove dependency of otlphttpreceiver on otlpexporter (#6454)
Docker Images:
- `quay.io/signalfx/splunk...
v0.91.3
🛑 Breaking changes 🛑
- (Splunk) -
ecs-metadata
sync theknown_status
property on thecontainer_id
dimension instead of lower cardinalitycontainer_name
. This can be prevented by configuringdimensionToUpdate
tocontainer_name
(#4091) - (Splunk) Removes
collectd/disk
monitor (#3998)
This monitor has been deprecated in favor of thedisk-io
monitor.
Note that thedisk-io
monitor has a different dimension (disk
instead ofplugin_instance
) to specify the disk. - (Splunk) Removes
collectd/df
monitor (#3996)
The monitor is deprecated and the filesystems monitor should be used instead. - (Splunk) Removes
netinterface
monitor (#3991)
This monitor is deprecated in favor of thenet-io
monitor. - (Splunk) Removes
collectd/vmem
monitor (#3993)
This monitor is deprecated in favor of thevmem
monitor. The metrics should be fully compatible with this monitor. - (Splunk) Removes
collectd/load
monitor (#3995)
This monitor has been deprecated in favor of theload
monitor. That monitor emits the same metrics and is fully compatible. - (Splunk) Removes
collectd/postgresql
monitor (#3994)
This monitor is deprecated in favor of the postgresql monitor.
💡 Enhancements 💡
- (Splunk) Adopt
vcenter
receiver (#4291) - (Splunk) Adopt
sshcheck
receiver (#4099) - (Splunk) Adopt
awss3
exporter (#4117) - (Splunk) Convert loglevel to verbosity on logging exporter (#4097)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.91.3-amd64
(digest:sha256:d469e3372384604b36a6180525c9aacdd49fcbd082c618cfeede49fec7f35ada
)quay.io/signalfx/splunk-otel-collector:0.91.3-arm64
(digest:sha256:2201612e13501157616eb2399d4474cbc91fcea5b36e2b0d4864b635f5c07c3a
)quay.io/signalfx/splunk-otel-collector:0.91.3-ppc64le
(digest:sha256:c967f7023d8bb8f260b63c8ec6de90c7ec4d3b87c010e743376fdfe5d6f5b92b
)quay.io/signalfx/splunk-otel-collector-windows:0.91.3
(digest:sha256:05a736f642207dbfcc1f2c3ead2ff771b6ee8b746eec7925c4af62ee2c452a83
)quay.io/signalfx/splunk-otel-collector-windows:0.91.3-2022
(digest:sha256:703f38c4431edefa43ed9b52ffcbbefe9463b9afb44443c5e845c6ec109d5d70
)
v0.91.1
💡 Enhancements 💡
- (Splunk) Remove the project beta label (#4070)
- (Splunk) Source SPLUNK_LISTEN_INTERFACE on all host endpoints(#4065)
- (Splunk) Add support for start timestamps when using the light prometheus receiver (#4037)
- (Splunk) Node.js Auto Instrumentation:
🛑 Breaking changes 🛑
postgresql
Discovery now uses the OpenTelemetry Collector Contrib receiver by default instead of the smartagent receiver (#3957)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.91.1-amd64
(digest:sha256:86f99bf2224cbaa9ed5ebf7346e31619dc6d1ac16393dd089b635dc0606a55b0
)quay.io/signalfx/splunk-otel-collector:0.91.1-arm64
(digest:sha256:0b15a2f8f0431f1b3e37060fed5d49a0aa661215c197f881aa22e992a1a255f7
)quay.io/signalfx/splunk-otel-collector:0.91.1-ppc64le
(digest:sha256:ee2898ba48c5ae41db268340388a12bfd12ad92a61f116fd62af6cad1d2a9097
)quay.io/signalfx/splunk-otel-collector-windows:0.91.1
(digest:sha256:ca400b1cf29738d4cf4ce8012189b3e0b81072a875c239902c0ec0f503fa9237
)quay.io/signalfx/splunk-otel-collector-windows:0.91.1-2022
(digest:sha256:ef6f41051f553b2766658d1f6a0cfbd69955fe342c21d2d4426089d9a27eeced
)