v0.123.0
·
111 commits
to main
since this release
This Splunk OpenTelemetry Collector release includes changes from the opentelemetry-collector v0.123.0
and the opentelemetry-collector-contrib v0.123.0
releases where appropriate.
❗ Known Issues ❗
- This version won't collect kafka metrics with the discovery mode enabled. Will be fixed in 0.124.0.
See open-telemetry/opentelemetry-collector-contrib#39313 for more details.
🛑 Breaking changes 🛑
- (Splunk) Support for OpenSUSE 12 and CentOS 7 (tar package) has been dropped (#6073)
- (Core)
service/telemetry
: Marktelemetry.disableAddressFieldForInternalTelemetry
as beta, usage of deprecatedservice::telemetry::address
are ignored (#12756)
IMPORTANT: If you haveservice::telemetry::address
configured manually, ensure to change it to the new format:Otherwise, the Collector will not emit any internal telemetry metrics.telemetry: metrics: readers: - pull: exporter: prometheus: host: <HOST> port: <PORT> without_scope_info: true without_type_suffix: true without_units: true
To restore the previous behavior disabletelemetry.disableAddressFieldForInternalTelemetry
feature gate. - (Core)
exporterbatch
: Remove deprecated fieldsmin_size_items
andmax_size_items
from batch config. (#12684) - (Contrib)
receiver/azuremonitor
: multi subscriptions support and automatic discovery (#36612) - (Contrib)
exporter/kafka
: change default client_id to "otel-collector" (#38411)
The exporter now uses the "configkafka" package which consolidates
common configuration structures and default values. As a result of
this change, we update the default client_id value to "otel-collector". - (Contrib)
receiver/kafkametrics
: change default client_id to "otel-collector", deprecate "refresh_frequency" (#38411)
The receiver now uses the "configkafka" package which consolidates
common configuration structures and default values. As a result of
this change, we update the default client_id value to "otel-collector",
and deprecate "refresh_frequency" in favour of "metadata.refresh_interval". - (Contrib)
processor/k8sattributes
: Remove stable feature gatek8sattr.rfc3339
(#38810)
🚩 Deprecations 🚩
- (Core)
exporters
: Deprecateblocking
in favor ofblock_on_overflow
. (#12710) - (Core)
exporters
: Deprecate configuring exporter batching separately. Usesending_queue::batch
instead. (#12772)
Moving the batching configuration tosending_queue::batch
requires settingsending_queue::sizer
toitems
which means thatsending_queue::queue_size
needs to be also increased by the average batch size number (roughly
x5000 for the default batching configuration).
See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration - (Contrib)
exporter/kafka
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883) - (Contrib)
receiver/kafkametrics
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883) - (Contrib)
receiver/kafka
: Deprecateauth.plain_text
configuration. Useauth.sasl
with mechanism set to PLAIN instead. (#38883)
💡 Enhancements 💡
- (Splunk) Add discovery rule (disabled by default) for istio (#5854)
- (Core)
exporters
: Add support to configure batching in the sending queue. (#12746) - (Core)
exporters
: Add support forwait_for_result
, removedisabled_queue
(#12742) - (Core)
exporters
: Allow exporter memory queue to use different type of sizers. (#12708) - (Core)
service
: Addtelemetry.newPipelineTelemetry
feature gate to inject component-identifying attributes in internal telemetry (#12217)
With the feature gate enabled, all internal telemetry (metrics/traces/logs) will include some of
the following instrumentation scope attributes:otelcol.component.kind
otelcol.component.id
otelcol.pipeline.id
otelcol.signal
otelcol.signal.output
These attributes are defined in the Pipeline Component Telemetry RFC,
and identify the component instance from which the telemetry originates.
They are added automatically without changes to component code.
These attributes were already included in internal logs as regular log attributes, starting from
v0.120.0. For consistency with other signals, they have been switched to scope attributes (with
the exception of logs emitted to standard output), and are now enabled by the feature gate.
Please make sure that the exporter / backend endpoint you use has support for instrumentation
scope attributes before using this feature. If the internal telemetry is exported to another
Collector, a transform processor could be used to turn them into other kinds of attributes if
necessary.
- (Core)
exporters
: Enable support to do batching usingbytes
sizer (#12751) - (Core)
service
: Add config key to set metric views used for internal telemetry (#10769)
Theservice::telemetry::metrics::views
config key can now be used to explicitly set the list of
metric views used for internal telemetry, mirroringmeter_provider::views
in the SDK config.
This can be used to disable specific internal metrics, among other uses.
This key will cause an error if used alongside other features which would normally implicitly create views, such as:- not setting
service::telemetry::metrics::level
todetailed
; - enabling the
telemetry.disableHighCardinalityMetrics
feature flag.
- not setting
- (Contrib)
connector/spanmetrics
: Add instrumentation scope to span metrics connector. (#23662)
This change adds the instrumentation scope to the span metrics connector, which allows users to specify the instrumentation scope for the connector.
Now, the connector has a new configuration option:include_instrumentation_scope
: A list of instrumentation scope names to include from the traces.
The instrumentation scope name is the name of the instrumentation library that collected the span.
- (Contrib)
receiver/splunkhec
: Splunk HEC timestamp accepts nanoseconds, microseconds, milliseconds, and seconds epoch. (#36571) - (Contrib)
receiver/oracledb
: Add support for additional read/write metrics (#37814)
The following metrics are now available, all disabled by default:
'physical reads direct', 'physical writes', 'physical writes direct',
'physical read io requests' and 'physical write io requests' metrics' - (Contrib)
exporter/awss3
: Implement timeout for S3 exporter (#36264) - (Contrib)
extension/bearertokenauth
: Allow the header name to be customized in the bearerauthtoken extension (#38793) - (Contrib)
receiver/hostmetrics
: Reduced the cost of retrieving number of threads and parent process ID on Windows.
Disable the featuregatehostmetrics.process.onWindowsUseNewGetProcesses
to fallback to the previous[] implementation.
(#32947, #38589) - (Contrib)
receiver/hostmetrics
: Reduced the CPU cost of collecting theprocess.handles
metric on Windows. (#38886)
Instead of using WMI to retrieve the number of opened handles by each process
the scraper now uses the GetProcessHandleCount Win32 API which results in
reduced CPU usage when the metricprocess.handles
is enabled. - (Contrib)
pkg/ottl
: Enhance the Decode OTTL function to support all flavors of Base64 (#38854) - (Contrib)
receiver/rabbitmq
: Enhance the RabbitMQ receiver to collect and report additional node-level metrics:rabbitmq.node.disk_free
,rabbitmq.node.disk_free_limit
,rabbitmq.node.disk_free_alarm
,rabbitmq.node.disk_free_details.rate
,rabbitmq.node.mem_used
,rabbitmq.node.mem_limit
,rabbitmq.node.mem_alarm
,rabbitmq.node.mem_used_details.rate
,rabbitmq.node.fd_used
,rabbitmq.node.fd_total
,rabbitmq.node.fd_used_details.rate
,rabbitmq.node.sockets_used
,rabbitmq.node.sockets_total
,rabbitmq.node.sockets_used_details.rate
,rabbitmq.node.proc_used
,rabbitmq.node.proc_total
,rabbitmq.node.proc_used_details.rate
. These provide additional observability into the state and resource usage of RabbitMQ nodes. (#38976) - (Contrib)
receiver/rabbitmq
: Enhance the RabbitMQ receiver to collect and report additional node-level metrics across multiple categories. These include metrics related to memory, file descriptors, sockets, processes, disk, uptime, scheduling, garbage collection (GC), I/O, message store, connections, clustering, configuration, application info, and context switches. This significantly improves visibility into the performance, state, and resource usage of RabbitMQ nodes. (#38997) - (Contrib)
processor/resourcedetection
: Adding theos.version
resource attribute to system resourcedetection processor (#38087) - (Contrib)
receiver/sqlserver
: support sqlserverreceiver to record every executing query (#36462)
We introduced Query Sample collection in this PR. The scraper will record all the currently
executing queries once (in most case) and report related metrics. With this, user will be
able to see what queries got executed and can combine with the Top Query to get more insights
on troubleshooting and fine tuning. - (Contrib)
receiver/sqlserver
: Support query-level log collection (#36462)
Added top query (most CPU time consumed) collection. The query will gather the queries took most of the time during the last
query interval and report related metrics. The number of queries can be configured. This will enable user to have better
understanding on what is going on with the database. This enhancement empowers users to not only monitor but also actively
manage and optimize their MSSQL database performance based on real usage patterns.
🧰 Bug fixes 🧰
- (Splunk) Add headers_setter extension to OTLP HTTP exporters in the default configs to facilitate token passthrough (#6083, #6075)
- (Core)
exporters
: Fix order of starting between queue and batch. (#12705) - (Contrib)
receiver/awsecscontainermetrics
: Ensure that the storage.read_bytes and storage.write_bytes metrics include i/o counts from all devices (#38301) - (Contrib)
receiver/sqlserver
: the current metric scraper would report error when parsing value, the value was parsed as int but actually it should be a float (#38823) - (Contrib)
receiver/sqlserver
: Ensure all enabled metrics are emitted (#38839) - (Contrib)
receiver/kafka
: make calls to error backoff thread-safe and add logging (#38941) - (Contrib)
receiver/sqlserver
: Remove warning thatserver.address
andserver.port
resource attributes will be enabled (#38831)
There is no intention of enabling these resource attributes by default,
this change is to simply remove the warning.
Theserver.address
andserver.port
resource attributes were, and still are,
disabled by default. - (Contrib)
pkg/stanza
: Add retries when calls to retrieve Windows event viaEvtNext
fail with error RPC_S_INVALID_BOUND (1734). (#38149)
Whenever large events were read in by the Windows event log receiver, via the stanza input operator,
the collector would fail with error RPC_S_INVALID_BOUND (1734). Now the operator tries to workaround
this issue by reducing the number of events read on each attempt.
Docker Image Manifests:
- Linux (amd64, arm64, ppc64le) and Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector:0.123.0
- digest:
sha256:e576ea17cce918003b8dac7cb625d5e77c3400b4ce974b52a0e64a779429175d
- Windows (2019 amd64, 2022 amd64):
quay.io/signalfx/splunk-otel-collector-windows:0.123.0
- digest:
sha256:fb7a7ab74b02bc9baaec9d68ecfe831d88069b3dffe1c36c41e98f7ace5c8857