|
2 | 2 |
|
3 | 3 | ## Unreleased
|
4 | 4 |
|
| 5 | +## v0.123.0 |
| 6 | + |
| 7 | +This Splunk OpenTelemetry Collector release includes changes from the [opentelemetry-collector v0.123.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.123.0) |
| 8 | +and the [opentelemetry-collector-contrib v0.123.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.123.0) |
| 9 | +releases where appropriate. |
| 10 | + |
| 11 | +### ❗ Known Issues ❗ |
| 12 | + |
| 13 | +- This version won't collect kafka metrics with the discovery mode enabled. Will be fixed in 0.124.0. |
| 14 | + See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/39313 for more details. |
| 15 | + |
5 | 16 | ### 🛑 Breaking changes 🛑
|
6 | 17 |
|
7 | 18 | - (Splunk) Support for OpenSUSE 12 and CentOS 7 (tar package) has been dropped ([#6073](https://github.com/signalfx/splunk-otel-collector/pull/6073))
|
| 19 | +- (Core) `service/telemetry`: Mark `telemetry.disableAddressFieldForInternalTelemetry` as beta, usage of deprecated `service::telemetry::address` are ignored ([#12756](https://github.com/open-telemetry/opentelemetry-collector/issues/12756)) |
| 20 | + IMPORTANT: If you have `service::telemetry::address` configured manually, ensure to change it to the new format: |
| 21 | + ```yaml |
| 22 | + telemetry: |
| 23 | + metrics: |
| 24 | + readers: |
| 25 | + - pull: |
| 26 | + exporter: |
| 27 | + prometheus: |
| 28 | + host: <HOST> |
| 29 | + port: <PORT> |
| 30 | + without_scope_info: true |
| 31 | + without_type_suffix: true |
| 32 | + without_units: true |
| 33 | + ``` |
| 34 | + Otherwise, the Collector will not emit any internal telemetry metrics. |
| 35 | + To restore the previous behavior disable `telemetry.disableAddressFieldForInternalTelemetry` feature gate. |
| 36 | + |
| 37 | +- (Core) `exporterbatch`: Remove deprecated fields `min_size_items` and `max_size_items` from batch config. ([#12684](https://github.com/open-telemetry/opentelemetry-collector/issues/12684)) |
| 38 | +- (Contrib) `receiver/azuremonitor`: multi subscriptions support and automatic discovery ([#36612](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36612)) |
| 39 | +- (Contrib) `exporter/kafka`: change default client_id to "otel-collector" ([#38411](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38411)) |
| 40 | + The exporter now uses the "configkafka" package which consolidates |
| 41 | + common configuration structures and default values. As a result of |
| 42 | + this change, we update the default client_id value to "otel-collector". |
| 43 | + |
| 44 | +- (Contrib) `receiver/kafkametrics`: change default client_id to "otel-collector", deprecate "refresh_frequency" ([#38411](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38411)) |
| 45 | + The receiver now uses the "configkafka" package which consolidates |
| 46 | + common configuration structures and default values. As a result of |
| 47 | + this change, we update the default client_id value to "otel-collector", |
| 48 | + and deprecate "refresh_frequency" in favour of "metadata.refresh_interval". |
| 49 | + |
| 50 | +- (Contrib) `processor/k8sattributes`: Remove stable feature gate `k8sattr.rfc3339` ([#38810](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38810)) |
| 51 | + |
| 52 | +### 🚩 Deprecations 🚩 |
| 53 | + |
| 54 | +- (Core) `exporters`: Deprecate `blocking` in favor of `block_on_overflow`. ([#12710](https://github.com/open-telemetry/opentelemetry-collector/issues/12710)) |
| 55 | +- (Core) `exporters`: Deprecate configuring exporter batching separately. Use `sending_queue::batch` instead. ([#12772](https://github.com/open-telemetry/opentelemetry-collector/issues/12772)) |
| 56 | + Moving the batching configuration to `sending_queue::batch` requires setting `sending_queue::sizer` to `items` |
| 57 | + which means that `sending_queue::queue_size` needs to be also increased by the average batch size number (roughly |
| 58 | + x5000 for the default batching configuration). |
| 59 | + See https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/exporterhelper#configuration |
| 60 | +- (Contrib) `exporter/kafka`: Deprecate `auth.plain_text` configuration. Use `auth.sasl` with mechanism set to PLAIN instead. ([#38883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38883)) |
| 61 | +- (Contrib) `receiver/kafkametrics`: Deprecate `auth.plain_text` configuration. Use `auth.sasl` with mechanism set to PLAIN instead. ([#38883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38883)) |
| 62 | +- (Contrib) `receiver/kafka`: Deprecate `auth.plain_text` configuration. Use `auth.sasl` with mechanism set to PLAIN instead. ([#38883](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38883)) |
| 63 | + |
| 64 | +### 💡 Enhancements 💡 |
| 65 | + |
| 66 | +- (Splunk) Add discovery rule (disabled by default) for istio ([#5854](https://github.com/signalfx/splunk-otel-collector/pull/5854)) |
| 67 | +- (Core) `exporters`: Add support to configure batching in the sending queue. ([#12746](https://github.com/open-telemetry/opentelemetry-collector/issues/12746)) |
| 68 | +- (Core) `exporters`: Add support for `wait_for_result`, remove `disabled_queue` ([#12742](https://github.com/open-telemetry/opentelemetry-collector/issues/12742)) |
| 69 | +- (Core) `exporters`: Allow exporter memory queue to use different type of sizers. ([#12708](https://github.com/open-telemetry/opentelemetry-collector/issues/12708)) |
| 70 | +- (Core) `service`: Add `telemetry.newPipelineTelemetry` feature gate to inject component-identifying attributes in internal telemetry ([#12217](https://github.com/open-telemetry/opentelemetry-collector/issues/12217)) |
| 71 | + With the feature gate enabled, all internal telemetry (metrics/traces/logs) will include some of |
| 72 | + the following instrumentation scope attributes: |
| 73 | + - `otelcol.component.kind` |
| 74 | + - `otelcol.component.id` |
| 75 | + - `otelcol.pipeline.id` |
| 76 | + - `otelcol.signal` |
| 77 | + - `otelcol.signal.output` |
| 78 | + |
| 79 | + These attributes are defined in the [Pipeline Component Telemetry RFC](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/component-universal-telemetry.md#attributes), |
| 80 | + and identify the component instance from which the telemetry originates. |
| 81 | + They are added automatically without changes to component code. |
| 82 | + |
| 83 | + These attributes were already included in internal logs as regular log attributes, starting from |
| 84 | + v0.120.0. For consistency with other signals, they have been switched to scope attributes (with |
| 85 | + the exception of logs emitted to standard output), and are now enabled by the feature gate. |
| 86 | + |
| 87 | + Please make sure that the exporter / backend endpoint you use has support for instrumentation |
| 88 | + scope attributes before using this feature. If the internal telemetry is exported to another |
| 89 | + Collector, a transform processor could be used to turn them into other kinds of attributes if |
| 90 | + necessary. |
| 91 | + |
| 92 | +- (Core) `exporters`: Enable support to do batching using `bytes` sizer ([#12751](https://github.com/open-telemetry/opentelemetry-collector/issues/12751)) |
| 93 | +- (Core) `service`: Add config key to set metric views used for internal telemetry ([#10769](https://github.com/open-telemetry/opentelemetry-collector/issues/10769)) |
| 94 | + The `service::telemetry::metrics::views` config key can now be used to explicitly set the list of |
| 95 | + metric views used for internal telemetry, mirroring `meter_provider::views` in the SDK config. |
| 96 | + This can be used to disable specific internal metrics, among other uses. |
| 97 | + |
| 98 | + This key will cause an error if used alongside other features which would normally implicitly create views, such as: |
| 99 | + - not setting `service::telemetry::metrics::level` to `detailed`; |
| 100 | + - enabling the `telemetry.disableHighCardinalityMetrics` feature flag. |
| 101 | +- (Contrib) `connector/spanmetrics`: Add instrumentation scope to span metrics connector. ([#23662](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/23662)) |
| 102 | + This change adds the instrumentation scope to the span metrics connector, which allows users to specify the instrumentation scope for the connector. |
| 103 | + Now, the connector has a new configuration option: |
| 104 | + - `include_instrumentation_scope`: A list of instrumentation scope names to include from the traces. |
| 105 | + |
| 106 | + The instrumentation scope name is the name of the instrumentation library that collected the span. |
| 107 | + |
| 108 | +- (Contrib) `receiver/splunkhec`: Splunk HEC timestamp accepts nanoseconds, microseconds, milliseconds, and seconds epoch. ([#36571](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36571)) |
| 109 | +- (Contrib) `receiver/oracledb`: Add support for additional read/write metrics ([#37814](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/37814)) |
| 110 | + The following metrics are now available, all disabled by default: |
| 111 | + 'physical reads direct', 'physical writes', 'physical writes direct', |
| 112 | + 'physical read io requests' and 'physical write io requests' metrics' |
| 113 | + |
| 114 | +- (Contrib) `exporter/awss3`: Implement timeout for S3 exporter ([#36264](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36264)) |
| 115 | +- (Contrib) `extension/bearertokenauth`: Allow the header name to be customized in the bearerauthtoken extension ([#38793](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38793)) |
| 116 | +- (Contrib) `receiver/hostmetrics`: Reduced the cost of retrieving number of threads and parent process ID on Windows. |
| 117 | + Disable the featuregate `hostmetrics.process.onWindowsUseNewGetProcesses` to fallback to the previous[] implementation. |
| 118 | + ([#32947](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32947), [#38589](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38589)) |
| 119 | +- (Contrib) `receiver/hostmetrics`: Reduced the CPU cost of collecting the `process.handles` metric on Windows. ([#38886](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38886)) |
| 120 | + Instead of using WMI to retrieve the number of opened handles by each process |
| 121 | + the scraper now uses the GetProcessHandleCount Win32 API which results in |
| 122 | + reduced CPU usage when the metric `process.handles` is enabled. |
| 123 | + |
| 124 | +- (Contrib) `pkg/ottl`: Enhance the Decode OTTL function to support all flavors of Base64 ([#38854](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38854)) |
| 125 | +- (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](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38976)) |
| 126 | +- (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](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38997)) |
| 127 | +- (Contrib) `processor/resourcedetection`: Adding the `os.version` resource attribute to system resourcedetection processor ([#38087](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38087)) |
| 128 | +- (Contrib) `receiver/sqlserver`: support sqlserverreceiver to record every executing query ([#36462](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36462)) |
| 129 | + We introduced Query Sample collection in this PR. The scraper will record all the currently |
| 130 | + executing queries once (in most case) and report related metrics. With this, user will be |
| 131 | + able to see what queries got executed and can combine with the Top Query to get more insights |
| 132 | + on troubleshooting and fine tuning. |
| 133 | + |
| 134 | +- (Contrib) `receiver/sqlserver`: Support query-level log collection ([#36462](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36462)) |
| 135 | + Added top query (most CPU time consumed) collection. The query will gather the queries took most of the time during the last |
| 136 | + query interval and report related metrics. The number of queries can be configured. This will enable user to have better |
| 137 | + understanding on what is going on with the database. This enhancement empowers users to not only monitor but also actively |
| 138 | + manage and optimize their MSSQL database performance based on real usage patterns. |
| 139 | + |
| 140 | +### 🧰 Bug fixes 🧰 |
| 141 | + |
| 142 | +- (Splunk) Add headers_setter extension to OTLP HTTP exporters in the default configs to facilitate token passthrough ([#6083](https://github.com/signalfx/splunk-otel-collector/pull/6083), [#6075](https://github.com/signalfx/splunk-otel-collector/pull/6075)) |
| 143 | +- (Core) `exporters`: Fix order of starting between queue and batch. ([#12705](https://github.com/open-telemetry/opentelemetry-collector/issues/12705)) |
| 144 | +- (Contrib) `receiver/awsecscontainermetrics`: Ensure that the storage.read_bytes and storage.write_bytes metrics include i/o counts from all devices ([#38301](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38301)) |
| 145 | +- (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](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38823)) |
| 146 | +- (Contrib) `receiver/sqlserver`: Ensure all enabled metrics are emitted ([#38839](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38839)) |
| 147 | +- (Contrib) `receiver/kafka`: make calls to error backoff thread-safe and add logging ([#38941](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38941)) |
| 148 | +- (Contrib) `receiver/sqlserver`: Remove warning that `server.address` and `server.port` resource attributes will be enabled ([#38831](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38831)) |
| 149 | + There is no intention of enabling these resource attributes by default, |
| 150 | + this change is to simply remove the warning. |
| 151 | + The `server.address` and `server.port` resource attributes were, and still are, |
| 152 | + disabled by default. |
| 153 | + |
| 154 | +- (Contrib) `pkg/stanza`: Add retries when calls to retrieve Windows event via `EvtNext` fail with error RPC_S_INVALID_BOUND (1734). ([#38149](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/38149)) |
| 155 | + Whenever large events were read in by the Windows event log receiver, via the stanza input operator, |
| 156 | + the collector would fail with error RPC_S_INVALID_BOUND (1734). Now the operator tries to workaround |
| 157 | + this issue by reducing the number of events read on each attempt. |
8 | 158 |
|
9 | 159 | ## v0.122.0
|
10 | 160 |
|
|
0 commit comments