Releases: signalfx/splunk-otel-collector
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
)
v0.91.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.91.0 and the opentelemetry-collector-contrib v0.91.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Node.js Auto Instrumentation:
- The
NODE_OPTIONS
environment variable in the default config file has been updated to load the Node.js SDK from an absolute path (/usr/lib/splunk-instrumentation/splunk-otel-js/node_modules/@splunk/otel/instrument
). - The Linux installer script now installs the Node.js SDK to
/usr/lib/splunk-instrumentation/splunk-otel-js
instead of globally. - The
--npm-command
Linux installer script option is no longer supported. To specify a custom path tonpm
, use the--npm-path <path>
option.
- The
- (Splunk)
translatesfx
: Removetranslatesfx
(#4028) - (Splunk)
collectd/elasticsearch
: Removecollectd/elasticsearch
monitor (#3997)
🚩 Deprecations 🚩
- (Splunk)
collectd/cpu
: Deprecatecollectd/cpu
explicitly. Please migrate to thecpu
monitor (#4036)
💡 Enhancements 💡
- (Contrib)
spanmetricsconnector
: Add exemplars to sum metric (#27451) - (Contrib)
jaegerreceiver
: mark featuregates to replace Thrift-gen with Proto-gen types for sampling strategies as stable (#27636)
The following featuregate is stable:
receiver.jaegerreceiver.replaceThriftWithProto
- (Contrib)
kafkareceiver
: Add the ability to consume logs from Azure Diagnostic Settings streamed through Event Hubs using the Kafka API. (#18210) - (Contrib)
resourcedetectionprocessor
: Add detection of host.ip to system detector. (#24450) - (Contrib)
resourcedetectionprocessor
: Add detection of host.mac to system detector. (#29587) - (Contrib)
pkg/ottl
: Add silent ErrorMode to allow disabling logging of errors that are ignored. (#29710) - (Contrib)
postgresqlreceiver
: Add config property for excluding specific databases from scraping (#29605) - (Contrib)
redisreceiver
: Upgrade the redis library dependency to resolve security vulns in v7 (#29600) - (Contrib)
signalfxexporter
: Enable HTTP/2 health check by default (#29716) - (Contrib)
splunkhecexporter
: Enable HTTP/2 health check by default (#29717) - (Contrib)
statsdreceiver
: Add support for 'simple' tags that do not have a defined value, to accommodate DogStatsD metrics that may utilize these. (#29012)
This functionality is gated behind a newenable_simple_tags
config boolean, as it is not part of the StatsD spec. - (Core)
service
: add resource attributes as labels to otel metrics to ensures backwards compatibility with OpenCensus metrics. (#9029) - (Core)
config/confighttp
: Exposes http/2 transport settings to enable health check and workaround golang http/2 issue golang/go#59690 (#9022)
🧰 Bug fixes 🧰
- (Splunk)
migratecheckpoint
: Migrating offsets from SCK to SCK-Otel doesn't work. This is because of incorrect keys we use to populate the boltdb cache. (#3879) - (Contrib)
connector/spanmetrics
: Fix memory leak when the cumulative temporality is used. (#27654) - (Contrib)
splunkhecexporter
: Do not send null event field values in HEC events. Replace null values with an empty string. (#29551) - (Contrib)
k8sobjectsreceiver
: fix k8sobjects receiver fails when some unrelated Kubernetes API is down (#29706) - (Contrib)
resourcedetectionprocessor
: Change type ofhost.cpu.model.id
andhost.cpu.model.family
from int to string. (#29025)
Disable theprocessor.resourcedetection.hostCPUModelAndFamilyAsString
feature gate to get the old behavior. - (Contrib)
filelogreceiver
: Fix problem where checkpoints could be lost when collector is shutdown abruptly (#29609, #29491) - (Contrib)
pkg/stanza
: Allowkey_value_parser
to parse values that contain the delimiter string. (#29629 - (Core)
exporterhelper
: fix missed metric aggregations (#9048)
This ensures that context cancellation in the exporter doesn't interfere with metric aggregation. The OTel
SDK currently returns if there's an error in the context used inAdd
. This means that if there's a
cancelled context in an export, the metrics are now recorded.
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.91.0-amd64
(digest:sha256:6ea26505ebc2aa46a9a30d183b6a6aa98333ba29a28c6a1ca4c64137665f5bfc
)quay.io/signalfx/splunk-otel-collector:0.91.0-arm64
(digest:sha256:810949a8c9ddfebce8e519084f594f93d2688dd70e1b22714c93bb5e765e20d4
)quay.io/signalfx/splunk-otel-collector:0.91.0-ppc64le
(digest:sha256:147dc913bcc0de535fed048e4914d9fd9521d0db10ce838199530c3b4041fd27
)quay.io/signalfx/splunk-otel-collector-windows:0.91.0
(digest:sha256:9179df80646b699f294bb07a199cf49d4f10206676b6dec9dec340e26c9cdbdd
)quay.io/signalfx/splunk-otel-collector-windows:0.91.0-2022
(digest:sha256:893155430652af699c80364e69212b3c8957ca8859d34d1ab629e24630354cff
)
v0.90.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.90.1 and the opentelemetry-collector-contrib v0.90.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Core)
service
: To remain backwards compatible w/ the metrics generated today, otel generated metrics will be generated without the_total
suffix (#7454) - (Core)
service
: use WithNamespace instead of WrapRegistererWithPrefix (#8988)
Using this functionality in the otel prom exporter fixes a bug where the
target_info was prefixed as otelcol_target_info previously.
🚩 Deprecations 🚩
- (Splunk) Deprecate
collectd/marathon
(#3992) - (Splunk) Add deprecation notice to
collectd/etcd
(useetcd
instead) (#3990) - (Splunk) Mark translatesfx as deprecated (#3984)
💡 Enhancements 💡
- (Splunk)
mysqlreceiver
: Add mysqlreceiver to the Splunk distribution (#3989) - (Core)
exporter/debug
: Change defaultverbosity
fromnormal
tobasic
(#8844)
This change has currently no effect, asbasic
andnormal
verbosity share the same behavior. This might change in the future though, with thenormal
verbosity being more verbose than it currently is (see open-telemetry/opentelemetry-collector#7806). This is why we are changing the default tobasic
, which is expected to stay at the current level of verbosity (one line per batch). - (Core)
exporterhelper
: Fix shutdown logic in persistent queue to not require consumers to be closed first (#8899) - (Core)
confighttp
: Support proxy configuration field in all exporters that support confighttp (#5761) - (Contrib)
resourcedetectionprocessor
: Add k8s cluster name detection when running in EKS (#26794) - (Contrib)
pkg/ottl
: Add new IsDouble function to facilitate type checking. (#27895) - (Contrib)
mysqlreceiver
: expose tls in mysqlreceiver (#29269)
If tls is not set, the default is to disable TLS connections. - (Contrib)
processor/transform
: Convert between sum and gauge in metric context when alpha feature gateprocessor.transform.ConvertBetweenSumAndGaugeMetricContext
enabled (#20773) - (Contrib)
receiver/mongodbatlasreceiver
: adds project config to mongodbatlas metrics to filter by project name and clusters. (#28865) - (Contrib)
pkg/stanza
: Add "namedpipe" operator. (#27234) - (Contrib)
pkg/resourcetotelemetry
: Do not clone data in pkg/resourcetotelemetry by default (#29327)
The resulting consumer will be marked as MutatesData instead - (Contrib)
pkg/stanza
: Improve performance by not calling decode when nop encoding is defined (#28899) - (Contrib)
receivercreator
: Added support for discovery of endpoints based on K8s services (#29022)
By discovering endpoints based on K8s services, a dynamic probing of K8s service leveraging for example the httpcheckreceiver get enabled - (Contrib)
signalfxexporter
: change default timeout to 10 seconds (#29436) - (Contrib)
hostmetricsreceiver
: Add optional Linux-only metric system.linux.memory.available (#7417)
This is an alternative tosystem.memory.usage
metric with state=free.
Linux starting from 3.14 exports "available" memory. It takes "free" memory as a baseline, and then factors in kernel-specific values.
This is supposed to be more accurate than just "free" memory.
For reference, see the calculations here.
See alsoMemAvailable
in/proc/meminfo
.
🧰 Bug fixes 🧰
- (Splunk)
cmd/otelcol
: Fix the code detecting if the collector is running as a service on Windows. The fix should make
setting theNO_WINDOWS_SERVICE
environment variable unnecessary. (#4002) - (Core)
exporterhelper
: Fix invalid write index updates in the persistent queue (#8115) - (Contrib)
filelogreceiver
: Fix issue where files were unnecessarily kept open on Windows (#29149) - (Contrib)
mongodbreceiver
: add receiver.mongodb.removeDatabaseAttr Alpha feature gate to remove duplicate database name attribute (#24972) - (Contrib)
pkg/stanza
: Fix panic during stop for udp async mode only. (#29120)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.90.0-amd64
(digest:sha256:7368c1f88063851f48f92a46150955fef943420dc7e5fa0bbd2f443e2352bac7
)quay.io/signalfx/splunk-otel-collector:0.90.0-arm64
(digest:sha256:6967fe7a2910eea0e0c53dba3a51517df5392142a1a4f0c762f4c5368b0f09f9
)quay.io/signalfx/splunk-otel-collector:0.90.0-ppc64le
(digest:sha256:6a1dd1b9e480c8baa83d93507446954e13bd11ee754b8534b0b4dddd307c23ea
)quay.io/signalfx/splunk-otel-collector-windows:0.90.0
(digest:sha256:4cd076173486ac09d61d3c306ef297e07f77eacd08b485b3737bc7bed9eb78e8
)quay.io/signalfx/splunk-otel-collector-windows:0.90.0-2022
(digest:sha256:89456a69cec86cd9e391b7809373ef10738a1dbe184167ab64cf0052ec3ca159
)
v0.89.0
🛑 Breaking changes 🛑
- (Contrib)
pkg/stanza
/receiver/windowseventlog
: Improve parsing of Windows Event XML by handling anonymousData
elements. (#21491)
This improves the contents of Windows log events for which the publisher manifest is unavailable. Previously, anonymousData
elements were ignored. This is a breaking change for users who were relying on the previous data format. - (Contrib)
processor/k8sattributes
: Graduate "k8sattr.rfc3339" feature gate to Beta. (#28817)
Time format ofk8s.pod.start_time
attribute value migrated from RFC3339:
Before: 2023-07-10 12:34:39.740638 -0700 PDT m=+0.020184946
After: 2023-07-10T12:39:53.112485-07:00
The feature gate can be temporary reverted back by adding--feature-gate=-k8sattr.rfc3339
to the command line. - (Contrib)
receiver/filelogreceiver
: Change "Started watching file" log behavior (#28491)
Previously, every unique file path which was found by the receiver would be remembered indefinitely.
This list was kept independently of the uniqueness / checkpointing mechanism (which does not rely on the file path).
The purpose of this list was to allow us to emit a log whenever a path was seen for the first time.
This removes the separate list and relies instead on the same mechanism as checkpointing. Now, a similar log is emitted
any time a file is found which is not currently checkpointed. Because the checkpointing mechanism does not maintain history
indefinitely, it is now possible that a log will be emitted for the same file path. This will happen when no file exists at
the path for a period of time.
🚩 Deprecations 🚩
- (Contrib)
postgresqlreceiver
: Deprecation of postgresql replication lag metricspostgresql.wal.lag
in favor of more precise 'postgresql.wal.delay' (#26714)
💡 Enhancements 💡
- (Splunk)
receiver/mongodbreceiver
: Adds mongobdreceiver in Splunk collector distro (#3979) - (Contrib)
processor/tailsampling
: adds optional upper bound duration for sampling (#26115) - (Contrib)
collectdreceiver
: Add support of confighttp.HTTPServerSettings (#28811) - (Contrib)
collectdreceiver
: Promote collectdreceiver as beta component (#28658) - (Contrib)
receiver/hostmetricsreceiver
: Added support for host's cpuinfo frequnecies. (#27445)
In Linux the current frequency is populated using the values from /proc/cpuinfo. An os specific implementation will be needed for Windows and others. - (Contrib)
receiver/hostmetrics/scrapers/process
: add configuration option to muteerror reading username for process
(#14311, #17187) - (Contrib)
azureevenhubreceiver
: Allow the Consumer Group to be set in the Configuration. (#28633) - (Contrib)
spanmetricsconnector
: Add Events metric to span metrics connector that adds list of event attributes as dimensions (#27451) - (Contrib)
processor/k8sattribute
: support adding labels and annotations from node (#22620) - (Contrib)
windowseventlogreceiver
: Add parsing for Security and Execution event fields. (#27810) - (Contrib)
filelogreceiver
: Add the ability to order files by mtime, to only read the most recently modified files (#27812) - (Contrib)
wavefrontreceiver
: Wrap metrics receiver under carbon receiver instead of using export function (#27248) - (Contrib)
pkg/ottl
: Add IsBool function into OTTL (#27897) - (Contrib)
k8sclusterreceiver
: add k8s.node.condition metric (#27617) - (Contrib)
kafkaexporter
/kafkametricsreceiver
/kafkareceiver
: Expose resolve_canonical_bootstrap_servers_only config (#26022) - (Contrib)
receiver/mongodbatlasreceiver
: Enhanced collector logs to include more information about the MongoDB Atlas API calls being made during logs retrieval. (#28851) - (Contrib)
receiver/mongodbatlasreceiver
: emit resource attributes "mongodb_atlas.region.name
" and "mongodb_atlas.provider.name
" on metric scrape. (#28833) - (Contrib)
processor/resourcedetection
: Addprocessor.resourcedetection.hostCPUModelAndFamilyAsString
feature gate to change the type ofhost.cpu.family
andhost.cpu.model.id
attributes fromint
tostring
. (#29025)
This feature gate will graduate to beta in the next release. - (Contrib)
processor/tailsampling
: Optimize performance of tailsamplingprocessor (#27889) - (Contrib)
redisreceiver
: include server.address and server.port resource attributes (#22044) - (Contrib)
spanmetricsconnector
: Add exemplars to sum metric (#27451) - (Core)
service/extensions
: Allow extensions to declare dependencies on other extensions and guarantee start/stop/notification order accordingly. (#8732) - (Core)
exporterhelper
: Log export errors when retry is not used by the component. (#8791)
🧰 Bug fixes 🧰
- (Splunk)
smartagent/processlist
: Reduce CPU usage when collecting process information on Windows (#3980) - (Contrib)
filelogreceiver
: Fix issue where counting number of logs emitted could cause panic (#27469, #29107) - (Contrib)
kafkareceiver
: Fix issue where counting number of logs emitted could cause panic (#27469, #29107) - (Contrib)
k8sobjectsreceiver
: Fix issue where counting number of logs emitted could cause panic (#27469, #29107) - (Contrib)
fluentforwardreceiver
: Fix issue where counting number of logs emitted could cause panic (#27469, #29107) - (Contrib)
azureeventhubreceiver
: Updated documentation around Azure Metric to OTel mapping. (#28622) - (Contrib)
receiver/hostmetrics
: Fix panic on load_scraper_windows shutdown (#28678) - (Contrib)
splunkhecreceiver
: Do not encode JSON response objects as string. (#27604) - (Contrib)
processor/k8sattributes
: Set attributes from namespace/node labels or annotations even if node/namespaces name attribute are not set. (#28837) - (Contrib)
pkg/stanza
: Fix data-corruption/race-condition issue in udp async (reuse of buffer); use buffer pool instead. (#27613) - (Contrib)
zipkinreceiver
: Return BadRequest in case of permanent errors (#4335) - (Core)
exporterhelper
: fix bug with queue size and capacity metrics (#8682)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.89.0-amd64
(digest:sha256:a9c3ff227f6926ed1904ba143206e08820be093fa38271f24f0b05383cc6273b
)quay.io/signalfx/splunk-otel-collector:0.89.0-arm64
(digest:sha256:02e07363cb15311a70588074213817c311250361c0a470b25cb9c7813428cf96
)quay.io/signalfx/splunk-otel-collector:0.89.0-ppc64le
(digest:sha256:3f2064347852a3e28b10fbcb1a6bc99276a860b6953fd9c7b4f77b340e5b4e7c
)quay.io/signalfx/splunk-otel-collector-windows:0.89.0
(digest: `sha256:c6f1965c2feb5c2db611...
v0.88.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.88.0 and the opentelemetry-collector-contrib v0.88.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk)
smartagent
: RespectJAVA_HOME
environment variable instead of enforcing bundle-relative value (#3877) - (Contrib)
k8sclusterreceiver
: Remove opencensus.resourcetype resource attribute (#26487) - (Contrib)
splunkhecexporter
: Removemax_connections
configuration setting. (#27610)- use
max_idle_conns
ormax_idle_conns_per_host
instead.
- use
- (Contrib)
signalfxexporter
: Removemax_connections
configuration setting. (#27610)- use
max_idle_conns
ormax_idle_conns_per_host
instead.
- use
- (Core)
exporterhelper
: make enqueue failures available for otel metrics (#8673). This will prevent internal Collectorotelcol_exporter_enqueue_failed_<telemetry_type>
metrics from being reported unless greater than 0.
💡 Enhancements 💡
- (Splunk) Add an option,
-msi_public_properties
, to allow passing MSI public properties when installing the Splunk OpenTelemetry Collector using the Windows installer script (#3921) - (Splunk) Add support for config map providers in discovery configuration. (#3874)
- (Splunk) Add zero config support for chef deployments (#3903)
- (Splunk) Add zero config support for puppet deployments (#3922)
- (Contrib)
receiver/prometheus
: Warn instead of failing when users rename using metric_relabel_configs in the prometheus receiver (#5001) - (Contrib)
k8sobjectsreceiver
: Move k8sobjectsreceiver from Alpha stability to Beta stability for logs. (#27635) - (Contrib)
doubleconverter
: Adding a double converter into pkg/ottl (#22056) - (Contrib)
syslogreceiver
: validate protocol name (#27581) - (Contrib)
entension/storage/filestorage
: Add support for setting bbolt fsync option (#20266) - (Contrib)
filelogreceiver
: Add a new "top_n" option to specify the number of files to track when using ordering criteria (#23788) - (Contrib)
k8sclusterreceiver
: add optional k8s.pod.qos_class resource attribute (#27483) - (Contrib)
pkg/stanza
: Log warning, instead of error, when Windows Event Log publisher metadata is not available and cache the successfully retrieved ones. (#27658) - (Contrib)
pkg/ottl
: Add optional Converter parameters to replacement Editors (#27235) - (Contrib)
signalfxexporter
: Add an option to control the dimension client timeout (#27815) - (Contrib)
signalfxexporter
: Add the build version to the user agent of the SignalFx exporter (#16841)
🧰 Bug fixes 🧰
- (Splunk) Fix Tanzu Tile to properly set proxy exclusions. (#3902)
- (Contrib)
syslog
: add integration tests and fix related bugs (#21245) - (Contrib)
processor/resourcedetection
: Don't parse the fieldcpuInfo.Model
if it's blank. (#27678) - (Contrib)
k8sclusterreceiver
: Change clusterquota and resourcequota metrics to use {resource} unit (#10553) - (Contrib)
pkg/ottl
: Fix bug where named parameters needed a space after the equal sign (=
). (#28511) - (Contrib)
filelogreceiver
: Fix issue where batching of files could result in ignoring start_at setting. (#27773) - (Core)
exporterhelper
: Fix nil pointer dereference when stopping persistent queue after a start encountered an error (#8718)
💡 Enhancements 💡
- (Splunk) Add an option,
-msi_public_properties
, to allow passing MSI public properties when installing the Splunk OpenTelemetry Collector using the Windows installer script (#3921)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.88.0-amd64
(digest:sha256:f458b63c48e18a5deb4fba47fb49a2fe0dace60948d99f7d57d4443824d856aa
)quay.io/signalfx/splunk-otel-collector:0.88.0-arm64
(digest:sha256:36432be420720026ec8b95fd5d2c24c24ba54a64c02a87f6c121ce1aaeec26f0
)quay.io/signalfx/splunk-otel-collector:0.88.0-ppc64le
(digest:sha256:28bc1be941f59d29dedf145afa758fcb0dce64dc0a3cfce5e73bef8fc2cb1ac2
)quay.io/signalfx/splunk-otel-collector-windows:0.88.0
(digest:sha256:3997d7fe7bcbb4f76da1c4f856358b50724e1002ffb4df2e92377a7f47912a35
)quay.io/signalfx/splunk-otel-collector-windows:0.88.0-2022
(digest:sha256:542a9487988d80a1e8b6e3874398590953be0b17c511fa5c4728128e079904c7
)
v0.87.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.87.0 and the opentelemetry-collector-contrib v0.87.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Auto Instrumentation for Linux (#3791):
- The
/usr/lib/splunk-instrumentation/instrumentation.conf
config file is no longer
supported, and is replaced by/etc/splunk/zeroconfig/java.conf
. If thesplunk-otel-auto-instrumentation
deb/rpm
package is manually upgraded, the options within/usr/lib/splunk-instrumentation/instrumentation.conf
will need to
be manually migrated to their corresponding environment variables within/etc/splunk/zeroconfig/java.conf
. - Manual installation of the
splunk-otel-auto-instrumentation
deb/rpm package no longer automatically adds
/usr/lib/splunk-instrumentation/libsplunk.so
to/etc/ld.so.preload
. - Manual upgrade of the
splunk-otel-auto-instrumentation
deb/rpm package will automatically remove
/usr/lib/splunk-instrumentation/libsplunk.so
from/etc/ld.so.preload
. - The
splunk.linux-autoinstr.executions
metric is no longer generated bylibsplunk.so
. - See Splunk OpenTelemetry Zero Configuration Auto Instrumentation for Linux
for manual installation/configuration details. - For users of the Ansible, Chef, Puppet, or Salt modules for Auto Instrumentation, it is recommended to update the following option in your configuration for version
0.86.0
or older until these modules are updated to manage these changes:- Ansible:
splunk_otel_auto_instrumentation_version
- Chef:
auto_instrumentation_version
- Puppet:
auto_instrumentation_version
- Salt:
auto_instrumentation_version
- Ansible:
- The
- (Contrib)
kubeletstatsreceiver
: Fixes a bug where the "insecure_skip_verify" config was not being honored when "auth_type" is "serviceAccount" in kubelet client. (#26319)- Before the fix, the kubelet client was not verifying kubelet's certificate. The default value of the config is false,
so with the fix the client will start verifying tls cert unless the config is explicitly set to true.
- Before the fix, the kubelet client was not verifying kubelet's certificate. The default value of the config is false,
- (Contrib)
tailsamplingprocessor
: Improve counting for thecount_traces_sampled
metric (#25882) - (Contrib)
extension/filestorage
: Replace path-unsafe characters in component names (#3148) - (Core)
service/telemetry exporter/exporterhelper
: Enable sampling logging by default and apply it to all components. (#8134)- The sampled logger configuration can be disabled easily by setting the
service::telemetry::logs::sampling::enabled
tofalse
.
- The sampled logger configuration can be disabled easily by setting the
🚩 Deprecations 🚩
- (Splunk) The following Auto Instrumentation options for the Linux installer script are deprecated and will only apply if the
--instrumentation-version <version>
option is specified for version0.86.0
or older:--[no-]generate-service-name
:libsplunk.so
no longer generates service names for instrumented applications. The default behavior is for the activated Java and/or Node.js Auto Instrumentation agents to automatically generate service names. Use the--service-name <name>
option to override the auto-generated service names for all instrumented applications.--[enable|disable]-telemetry
:libsplunk.so
no longer generates thesplunk.linux-autoinstr.executions
telemetry metric.
🚀 New components 🚀
💡 Enhancements 💡
- (Splunk) Update golang to 1.20.10 (#3770)
- (Splunk) Add debian 12 support to installer (#3766)
- (Splunk) Add new Auto Instrumentation options for the Linux installer script (#3791):
--with[out]-systemd-instrumentation
: Activate auto instrumentation for onlysystemd
services without preloading
thelibsplunk.so
shared object library (default:--without-systemd-instrumentation
)- Initial support for Splunk OpenTelemetry Auto Instrumentation for Node.js:
- Activated by default if the
--with-instrumentation
or--with-systemd-instrumentation
option is specified. - Use the
--without-instrumentation-sdk node
option to explicitly skip Node.js. npm
is required to install the Node.js Auto Instrumentation package. Ifnpm
is not installed, Node.js will
be skipped automatically.- By default, the Node.js Auto Instrumentation package is installed with the
npm install --global
command. Use the
--npm-command "<command>"
option to specify a custom command. - Environment variables to activate and configure Node.js auto instrumentation are added to
/etc/splunk/zeroconfig/node.conf
(for--with-instrumentation
) or
/usr/lib/systemd/system.conf.d/00-splunk-otel-auto-instrumentation.conf
(for--with-systemd-instrumentation
) based on defaults and specified installation options.
- Activated by default if the
- Auto Instrumentation for Java is also activated by default if the
--with-instrumentation
or
--with-systemd-instrumentation
option is specified. Use the--without-instrumentation-sdk java
option to skip Java. --otlp-endpoint host:port
: Set the OTLP gRPC endpoint for captured traces (default:http://LISTEN_INTERFACE:4317
whereLISTEN_INTERFACE
is the value from the--listen-interface
option if specified, or127.0.0.1
otherwise)- See Linux Installer Script for more details.
- (Splunk) Update splunk-otel-javaagent to v1.29.0 (#3788)
- (Splunk) Redis discovery (#3731)
- (Splunk) Update Bundled OpenJDK to 11.0.21+9 (#3819)
- (Splunk) Oracledb discovery tweaks (remove static endpoint) (#3836)
- (Contrib)
probabilisticsamplerprocessor
: Allow non-bytes values to be used as the source for the sampling decision (#18222) - (Contrib)
kafkareceiver
: Allow users to attach kafka header metadata with the log/metric/trace record in the pipeline. Introduce a new config param, 'header_extraction' and some examples. (#24367) - (Contrib)
kafkaexporter
: Adding Zipkin encoding option for traces to kafkaexporter (#21102) - (Contrib)
kubeletstatsreceiver
: Support specifying context forkubeConfig
auth_type
(#26665) - (Contrib)
kubeletstatsreceiver
: Adds newk8s.pod.cpu_limit_utilization
,k8s.pod.cpu_request_utilization
,k8s.container.cpu_limit_utilization
, andk8s.container.cpu_request_utilization
metrics that represent the ratio of cpu used vs set limits and requests. (#27276) - (Contrib)
kubeletstatsreceiver
: Adds newk8s.pod.memory_limit_utilization
,k8s.pod.memory_request_utilization
,k8s.container.memory_limit_utilization
, andk8s.container.memory_request_utilization
metrics that represent the ratio of memory used vs set limits and requests. (#25894)
🧰 Bug fixes 🧰
- (Contrib)
spanmetricsprocessor
: Prune histograms when dimension cache is pruned. (#27080)- Dimension cache was always pruned but histograms were not being pruned. This caused metric series created
by processor/spanmetrics to grow unbounded.
- Dimension cache was always pruned but histograms were not being pruned. This caused metric series created
- (Contrib)
splunkhecreceiver
: Fix receiver behavior when used for metrics and logs at the same time; metrics are no longer dropped. (#27473) - (Contrib)
metricstransformprocessor
: Fixes a nil pointer dereference when copying an exponential histogram (#27409) - (contrib)
k8sclusterreceiver
: change k8s.container.ready, k8s.pod.phase, k8s.pod.status_reason, k8s.namespace.phase units to empty (#10553) - (...
v0.86.0
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.86.0 and the opentelemetry-collector-contrib v0.86.0 releases where appropriate.
🛑 Breaking changes 🛑
- (Splunk) Set
SPLUNK_LISTEN_INTERFACE
environment variable value to 127.0.0.1 for agent mode by default, as determined by config path. 0.0.0.0 will be set otherwise, with existing environment values respected. The installers have been updated to only set the environment variable for collector service if configured directly (e.g. via--listen-interface <ip>
or-network_interface "<ip>"
for Linux or Windows installer script options, respectively) (#3732)
🚩 Deprecations 🚩
- (Core)
loggingexporter
: Mark the logging exporter as deprecated, in favour of debug exporter (#7769)
🚀 New components 🚀
- (Splunk) enabling in-development
scriptedinputs
receiver in components (#3627) - (Core)
debugexporter
: Add debug exporter, which replaces the logging exporter (#7769)
💡 Enhancements 💡
- (Splunk) Oracledb discovery (#3633)
- (Splunk) include debug exporter (#3735)
- (Splunk) Update bundled python to 3.11.6 (#3727)
- (Splunk) Switch pulsar exporter to contrib (#3641)
- (Splunk) demonstrate filelog receiver config equivalent to Splunk Addon for Unix and Linux File and Directory Inputs (#3271)
- (Splunk) remove unused Smart Agent package code (#3676, #3678, #3685, #3686, #3687, #3688, #3689, #3702, #3703, and #3706)
- (Contrib)
processor/tailsampling
: Allow sub-second decision wait time (#26354) - (Contrib)
processor/resourcedetection
: Added support for host's cpuinfo attributes. (#26532)
In Linux and Darwin all fields are populated. In Windows only family, vendor.id and model.name are populated. - (Contrib)
pkg/stanza
: Add 'omit_pattern' setting tosplit.Config
. (#26381)
This can be used omit the start or end pattern from a log entry. - (Contrib)
statsdreceiver
: Add TCP support to statsdreceiver (#23327) - (Contrib)
statsdreceiver
: Allow for empty tag sets (#27011) - (Contrib)
pkg/ottl
: Update contexts to set and get time.Time (#22010) - (Contrib)
pkg/ottl
: Add a Now() function to ottl that returns the current system time (#27038, #26507) - (Contrib)
filelogreceiver
: Log the globbing IO errors (#23768) - (Contrib)
pkg/ottl
: Allow named arguments in function invocations (#20879)
Arguments can now be specified by a snake-cased version of their name in the function's
Arguments
struct. Named arguments can be specified in any order, but must be specified
after arguments without a name. - (Contrib)
pkg/ottl
: Add newTruncateTime
function to help with manipulation of timestamps (#26696) - (Contrib)
pkg/stanza
: Add 'overwrite_text' option to severity parser. (#26671)
Allows the user to overwrite the text of the severity parser with the official string representation of the severity level. - (Contrib)
prometheusreceiver
: add a new flag, enable_protobuf_negotiation, which enables protobuf negotiation when scraping prometheus clients (#27027) - (Contrib)
redisreceiver
: Addedredis.cmd.latency
metric. (#6942) - (Contrib)
processor/resourcedetectionprocessor
: add k8snode detector to provide node metadata; currently the detector providesk8d.node.uid
(#26538) - (Contrib)
splunkhecreceiver
: Update splunk hec receiver to extract time query parameter if it is provided (#27006) - (Contrib)
processor/k8sattributes
: allow metadata extractions to be set to empty list (#14452)
🧰 Bug fixes 🧰
- (Contrib)
processor/tailsampling
: Prevent the tail-sampling processor from accepting duplicate policy names (#27016) - (Contrib)
k8sclusterreceiver
: Change k8s.deployment.available and k8s.deployment.desired metric units to {pod} (#10553) - (Contrib)
k8sclusterreceiver
: Change k8scluster receiver metric units to follow otel semantic conventions (#10553) - (Contrib)
pkg/stanza
: Fix bug where force_flush_period not applied (#26691) - (Contrib)
filelogreceiver
: Fix issue where truncated file could be read incorrectly. (#27037) - (Contrib)
receiver/hostmetricsreceiver
: Make sure the process scraper uses the gopsutil context, respecting theroot_path
configuration. (#24777) - (Contrib)
k8sclusterreceiver
: change k8s.container.restarts unit from 1 to {restart} (#10553) - (Core)
configtls
: fix incorrect use of fsnotify (#8438)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.86.0-amd64
(digest:sha256:45ee2f16f4e26cf1f72ead5daf1da9e42d3371b1105b49086dd4c5a2c0fd206d
)quay.io/signalfx/splunk-otel-collector:0.86.0-arm64
(digest:sha256:3bad08189ad71592c5bfa77dffce16cbc5f73ba81e7e3d34b7ea070cb4524042
)quay.io/signalfx/splunk-otel-collector:0.86.0-ppc64le
(digest:sha256:3cd48ad8e607e8ea481eb378804426e469a92ec5260fc93ef3d7149130856e2b
)quay.io/signalfx/splunk-otel-collector-windows:0.86.0
(digest:sha256:9286f1cf50bed7d2b8201255a93b6eb2bc8cb85be9db5929efec23555fc3b0e5
)quay.io/signalfx/splunk-otel-collector-windows:0.86.0-2022
(digest:sha256:2ed7dd74ea7d7cf231e08ed29b1284cdb56a41d779d7518e6a8325ff45d9f1e7
)
v0.85.0
ADVANCE NOTICE - SPLUNK_LISTEN_INTERFACE DEFAULTS
Starting with version 0.86.0 (next release), the collector installer will change the default value of the network listening interface option from 0.0.0.0
to 127.0.0.1
.
🛑 Breaking changes 🛑
- (Contrib)
k8sclusterreceiver
: Remove deprecated Kubernetes API resources (#23612, #26551)
Drop support ofHorizontalPodAutoscaler
v2beta2
version andCronJob
v1beta1
version.
Note that metrics for those resources will not be emitted anymore on Kubernetes 1.22 and older. - (Contrib)
prometheusexporters
: Append prometheus type and unit suffixes by default in prometheus exporters. (#26488)
Suffixes can be disabled by setting add_metric_suffixes to false on the exporter. - (Contrib)
attributesprocessor
,resourceprocessor
: Transition featuregatecoreinternal.attraction.hash.sha256
to stable (#4759)
💡 Enhancements 💡
- (Splunk)
wavefrontreceiver
: Add wavefrontreceiver (#3629) - (Splunk) Update
splunk-otel-javaagent
to 1.28.0 (#3647) - (Contrib)
postgresqlreceiver
: Added postgresql.database.locks metric. (#26317) - (Contrib)
receiver/statsdreceiver
: Add support for distribution type metrics in the statsdreceiver. (#24768) - (Contrib)
pkg/ottl
: Add converters to convert time to unix nanoseconds, unix microseconds, unix milliseconds or unix seconds (#24686) - (Contrib)
receiver/hostmetrics
: Don't collect connections data from the host if system.network.connections metric is disabled to not waste CPU cycles. (#25815) - (Contrib)
jaegerreceiver
,jaegerremotesamplingextension
: Add featuregates to replace Thrift-gen with Proto-gen types for sampling strategies (#18401)
Available featuregates are:extension.jaegerremotesampling.replaceThriftWithProto
receiver.jaegerreceiver.replaceThriftWithProto
- (Contrib)
k8sclusterreceiver
: Add optionalk8s.kubelet.version
,k8s.kubeproxy.version
node resource attributes (#24835) - (Contrib)
k8sclusterreceiver
: Addk8s.pod.status_reason
option metric (#24034) - (Contrib)
k8sobjectsreceiver
: Adds logic to properly handle 410 response codes when watching. This improves the reliability of the receiver. (#26098) - (Contrib)
k8sobjectreceiver
: Adds option to exclude event types (MODIFIED
,DELETED
, etc) in watch mode. (#26042) - (Core)
confighttp
: Add option to disable HTTP keep-alives (#8260)
🧰 Bug fixes 🧰
- (Splunk)
fluentd
: Update fluentd url for windows (#3635) - (Contrib)
processor/routing
: When using attributes instead of resource attributes, the routing processor would crash the collector. This does not affect the connector version of this component. (#26462) - (Contrib)
processor/tailsampling
: Added saving instrumentation library information for tail-sampling (#13642) - (Contrib)
receiver/kubeletstats
: Fixes client to refresh service account token when authenticating with kubelet (#26120) - (Contrib)
filelogreceiver
: Fix the behavior of the add operator to continue to supportEXPR(env("MY_ENV_VAR"))
expressions (#26373) - (Contrib)
pkg/stanza
: Fix issue unsupported type 'syslog_parser' (#26452) - (Core)
confmap
: fix bugs of unmarshalling slice values (#4001)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.85.0-amd64
(digest:sha256:d5dafb07029a10ae129113a8618dcbd8f013c0c4e0596a30877b3325e1a2c769
)quay.io/signalfx/splunk-otel-collector:0.85.0-arm64
(digest:sha256:0fc25e8be6971be59a379fc7c396aff332b36e5603a72914008c88aa40021a66
)quay.io/signalfx/splunk-otel-collector:0.85.0-ppc64le
(digest:sha256:be8373c8c83e61ae7aaa3fd66ac0831d220755cd9c2a95eaf48764c8dfd488cf
)quay.io/signalfx/splunk-otel-collector-windows:0.85.0
(digest:sha256:074a4f0e32e9db24cd21398d0e0b3557955fd3be096c36f0cdfe463bf346728c
)quay.io/signalfx/splunk-otel-collector-windows:0.85.0-2022
(digest:sha256:8585a6addf387e7efd72f620492ef883b81c248dceb88f1a51401a2c71560b23
)
v0.84.0
🛑 Breaking changes 🛑
- (Contrib)
jaegerreceiver
: Deprecate remote_sampling config in the jaeger receiver (#24186)
The jaeger receiver will fail to start if remote_sampling config is specified in it. Thereceiver.jaeger.DisableRemoteSampling
feature gate can be set to let the receiver start and treat remote_sampling config as no-op. In a future version this feature gate will be removed and the receiver will always fail when remote_sampling config is specified.
💡 Enhancements 💡
- (Splunk)
jmxreceiver
: Bundle latest JMX Metric Gatherer in installer packages and images for Windows and Linux (#3262) - (Splunk)
solacereceiver
: Added solace receiver to the splunk otel collector (#3590) - (Splunk)
receiver/smartagent
: Move to gopsutil 3.23.7 and remove the need to set environment variables (#3509) - (Splunk) Update splunk-otel-javaagent to 1.27.0 (#3537)
- (Splunk)
receiver/smartagent
: UseLeases
instead ofConfigMapLeases
for leader-election in k8s. (#3521) - (Splunk) Update bundled python to 3.11.5 (#3543)
- (Contrib)
redisreceiver
: Adding username parameter for connecting to redis (#24408) - (Contrib)
postgresqlreceiver
: Addedpostgresql.temp_files
metric. (#26080) - (Contrib)
signalfxexporter
: Added a mechanism to drop histogram buckets (#25845) - (Contrib)
journaldreceiver
: add support for identifiers (#20295) - (Contrib)
journaldreceiver
: add support for dmesg (#20295) - (Contrib)
pkg/ottl
: Add converters to covert duration to nanoseconds, microseconds, milliseconds, seconds, minutes or hours (#24686) - (Contrib)
snmpreceiver
: Support scalar OID resource attributes (#23373)
Add column and scalar OID metrics to resources that have scalar OID attributes - (Contrib)
kubeletstatsreceiver
: Add a newuptime
metric for nodes, pods, and containers to track how many seconds have passed since the object started (#25867) - (Contrib)
pkg/ottl
: Add newExtractPatterns
converter that extract regex pattern from string. (#25834, #25856) - (Contrib)
pkg/ottl
: Add support for Log, Metric and Trace Slices toLen
converter (#25868) - (Contrib)
postgresqlreceiver
: Addedpostgresql.deadlocks
metric. (#25688) - (Contrib)
postgresqlreceiver
: Addedpostgresql.sequential_scans
metric. (#26096) - (Contrib)
prometheusreceiver
: The otel_scope_name and otel_scope_version labels are used to populate scope name and version. otel_scope_info is used to populate scope attributes. (#25870) - (Contrib)
receiver/prometheus
: translate units from prometheus to UCUM (#23208) - (Core)
loggingexporter
: Adds exemplars logging to the logging exporter whendetailed
verbosity level is set. (#7912) - (Core)
configgrpc
: Allow any registered gRPC load balancer name to be used. (#8262) - (Core)
service
: add OTLP export for internal traces (#8106) - (Core)
configgrpc
: Add support for :authority pseudo-header in grpc client (#8228)
🧰 Bug fixes 🧰
- (Core)
otlphttpexporter
: Fix the handling of the HTTP response to ignore responses not encoded as protobuf (#8263) - (Contrib)
receiver_creator
: Update expr and relocate breakingtype
function totypeOf
(#26038) - (Splunk)
deployment/cloudfoundry
: Add missing system resource detection (#3541)
Docker Images:
quay.io/signalfx/splunk-otel-collector:0.84.0-amd64
(digest:sha256:cb99297105e7d6dfdd6887e214fa6fdfca2eccaafd901a9ad4645e4e40426a2b
)quay.io/signalfx/splunk-otel-collector:0.84.0-arm64
(digest:sha256:10f13f040077a210ac80993353c5416170c7aa00b59732d6011f4fb7e8292529
)quay.io/signalfx/splunk-otel-collector:0.84.0-ppc64le
(digest:sha256:9aed0f22db82fb698c7ea1ebd9174747ca497d9260565bd77a0411f351c3071f
)quay.io/signalfx/splunk-otel-collector-windows:0.84.0
(digest:sha256:6d4e5f998aaf9739bb769726033b82c589c60b83e85bc92e7de3a4da2176ab5d
)quay.io/signalfx/splunk-otel-collector-windows:0.84.0-2022
(digest:sha256:5689b6e38e7bd102945c53eb37a6043fa33c2c34039778383650855f6f1d26d1
)