|
2 | 2 |
|
3 | 3 | ## Unreleased
|
4 | 4 |
|
| 5 | +## v0.120.0 |
| 6 | + |
| 7 | +This Splunk OpenTelemetry Collector release includes changes from the [opentelemetry-collector v0.120.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.120.0) and the [opentelemetry-collector-contrib v0.120.1](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.120.1) releases where appropriate. |
| 8 | + |
5 | 9 | ### 🛑 Breaking changes 🛑
|
6 | 10 |
|
7 |
| -- (all) Bump minimum go version to 1.23 ([#5920](https://github.com/signalfx/splunk-otel-collector/pull/5920)) |
| 11 | +- (Contrib) `receiver/prometheus`: Prometheus receiver now uses scrapers in Prometheus 3.0. ([#36873](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/36873)) |
| 12 | + There are a number of breaking changes in Prometheus 3.0. Learn more about those changes and migration guide on https://prometheus.io/docs/prometheus/latest/migration/. |
| 13 | + As a result of [adding support for UTF-8 names](https://prometheus.io/docs/prometheus/latest/migration/#utf-8-names), |
| 14 | + the metrics and labels containing UTF-8 characters are no longer escaped. Consequently, the dots (.) in internal |
| 15 | + collector metrics and resource attributes scraped by Prometheus are no longer replaced with underscores (_). |
| 16 | + - The `service_name`, `service_instance_id`, and `service_version` resource attributes are now scraped as |
| 17 | + `service.name`, `service.instance.id`, and `service.version`, respectively. |
| 18 | + - The following metrics containing dots reported by several components are no longer escaped: |
| 19 | + - `filter` processor: |
| 20 | + - `processor_filter_datapoints_filtered` -> `processor_filter_datapoints.filtered` |
| 21 | + - `processor_filter_logs_filtered` -> `processor_filter_logs.filtered` |
| 22 | + - `processor_filter_spans_filtered` -> `processor_filter_spans.filtered` |
| 23 | + - `deltatocumulative` processor: |
| 24 | + - `deltatocumulative_streams_tracked` -> `deltatocumulative.streams.tracked` |
| 25 | + - `deltatocumulative_streams_tracked_linear` -> `deltatocumulative.streams.tracked.linear` |
| 26 | + - `deltatocumulative_streams_limit` -> `deltatocumulative.streams.limit` |
| 27 | + - `deltatocumulative_streams_evicted` -> `deltatocumulative.streams.evicted` |
| 28 | + - `deltatocumulative_streams_max_stale` -> `deltatocumulative.streams.max_stale` |
| 29 | + - `deltatocumulative_datapoints_processed` -> `deltatocumulative.datapoints.processed` |
| 30 | + - `deltatocumulative_datapoints_dropped` -> `deltatocumulative.datapoints.dropped` |
| 31 | + - `deltatocumulative_datapoints_linear` -> `deltatocumulative.datapoints.linear` |
| 32 | + - `deltatocumulative_gaps_length` -> `deltatocumulative.gaps.length` |
| 33 | + - `googlecloudpubsub` receiver: |
| 34 | + - `receiver_googlecloudpubsub_stream_restarts` -> `receiver.googlecloudpubsub.stream_restarts` |
| 35 | + |
| 36 | +- (Contrib) `activedirectorydsreceiver`: Fixed typo in the attribute `distingushed_names`, renaming it to `distinguished_names`. ([#37606](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37606)) |
| 37 | +- (Contrib) `receiver/hostmetrics`: Remove receiver.hostmetrics.normalizeProcessCPUUtilization feature gate ([#34763](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/34763)) |
| 38 | +- (Contrib) `tailsamplingprocessor`: Fix the decision timer metric to capture longer latencies beyond 50ms. ([#37722](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37722)) |
| 39 | + This changes the unit of the decision timer metric from microseconds to milliseconds. |
| 40 | +- (Contrib) `routingconnector`: Remove `match_once` configuration parameter. ([#36824](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/36824)) |
| 41 | +- (Core) `service`: Align component logger attributes with those defined in RFC ([#12217](https://github.com/open-telemetry/opentelemetry-collector/pull/12217)) |
| 42 | + See [Pipeline Component Telemetry RFC](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/rfcs/component-universal-telemetry.md#attributes) |
| 43 | + |
| 44 | +### 💡 Enhancements 💡 |
| 45 | + |
| 46 | +- (Splunk) Make Windows TA agnostic to Powershell ExecutionPolicy ([#5935](https://github.com/signalfx/splunk-otel-collector/pull/5935)) |
| 47 | +- (Contrib) `processor/transformprocessor`: Add support for global conditions and error mode overrides. ([#29017](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/29017)) |
| 48 | + Global conditions are now available for context-inferred structured configurations, allowing the use of fully |
| 49 | + qualified paths. Additionally, a new configuration key called `error_mode` has been added to the context statements group. |
| 50 | + This key determines how the processor reacts to errors that occur while processing that specific group of statements. |
| 51 | + When provided, it overrides the top-level error mode, offering more granular control over error handling. |
| 52 | + |
| 53 | +- (Contrib) `pkg/stanza`: Allow users to configure initial buffer size ([#37786](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37786)) |
| 54 | +- (Contrib) `vcenterreceiver`: Adds three more vCenter virtual machine performance metrics ([#37488](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37488)) |
| 55 | +- (Contrib) `k8sclusterreceiver`: Adds new descriptive attributes/metadata to the k8s.namespace and the container entity emitted from k8sclusterreceiver. ([#37580](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37580)) |
| 56 | + - Adds the following attributes to k8s.namespace entity: |
| 57 | + - k8s.namespace.phase: The phase of a namespace indicates where the namespace is in its lifecycle. E.g. 'active', 'terminating' |
| 58 | + - k8s.namespace.creation_timestamp: The time when the namespace object was created. |
| 59 | + - Adds the following attributes to container entity: |
| 60 | + - container.creation_timestamp: The time when the container was started. Only available if container is either in 'running' or 'terminated' state. |
| 61 | + |
| 62 | +- (Contrib) `splunkenterprisereceiver`: Added a new `splunk.health` metric. ([#36695](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/36695)) |
| 63 | +- (Contrib) `resourcedetectionprocessor`: add the Dynatrace detector to the resource detection processor ([#37577](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37577)) |
| 64 | +- (Contrib) `extension/oauth2clientauth`: Add `expiry_buffer` config to `oauth2client` extension, allowing token refresh before expiration with a default buffer of 5 minutes. ([#35148](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/35148)) |
| 65 | + - Prevents authentication failures by refreshing the token early. |
| 66 | + - The default expiry buffer is set to 5 minutes, and users can adjust it as needed. |
| 67 | + |
| 68 | +- (Contrib) `googlecloudpubsubreceiver`: Turn noisy `warn` log about Pub/Sub servers into `debug`, and turn the reset count into a metric ([#37571](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37571)) |
| 69 | + The receiver uses the Google Cloud Pub/Sub StreamingPull API and keeps a open connection. The Pub/Sub servers |
| 70 | + recurrently close the connection after a time period to avoid a long-running sticky connection. Before the |
| 71 | + receiver logged `warn` log lines everytime this happened. These log lines are moved to debug so that fleets with |
| 72 | + lots of collectors with the receiver don't span logs at warn level. To keep track of the resets, whenever a |
| 73 | + connection reset happens a `otelcol_receiver_googlecloudpubsub_stream_restarts` metric is increased by one. |
| 74 | + |
| 75 | +- (Contrib) `processor/redaction`: Introduce 'allowed_values' parameter for allowed values of attributes ([#35840](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/35840)) |
| 76 | +- (Contrib) `routingconnector`: Avoid unnecessary copy of the data in routing connector ([#37946](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37946)) |
| 77 | +- (Contrib) `awscontainerinsightreceiver`: Add support for HOST_PROC environment variable in AWS Container Insight Receiver. ([#35862](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/35862)) |
| 78 | +- (Contrib) `syslogreceiver`: Support setting `on_error` config for syslog receiver. ([#36906](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/36906)) |
| 79 | +- (Contrib) `processor/tailsampling`: Adds support for optionally recording the policy (and any composite policy) associated with an inclusive tail processor sampling decision. |
| 80 | + This functionality is disabled by default, you can enable it by passing the following feature flag to the collector: `+processor.tailsamplingprocessor.recordpolicy` |
| 81 | + ([#35180](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/35180)) |
| 82 | +- (Contrib) `tailsamplingprocessor`: makes the `numeric_attribute` more flexible and allows to set only `min_value` or `max_value`, without the need to set both ([#37328](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37328)) |
| 83 | + This is useful to have simple configurations like these: |
| 84 | + ``` |
| 85 | + { |
| 86 | + type: numeric_attribute, |
| 87 | + numeric_attribute: { |
| 88 | + key: http.status_code, |
| 89 | + min_value: 400 |
| 90 | + } |
| 91 | + } |
| 92 | + ``` |
| 93 | + |
| 94 | +- (Core) `otlpreceiver`: Update stability for logs ([#12335](https://github.com/open-telemetry/opentelemetry-collector/pull/12335)) |
| 95 | +- (Core) `exporterhelper`: Implement sync disabled queue used when batching is enabled. ([#12245](https://github.com/open-telemetry/opentelemetry-collector/pull/12245)) |
| 96 | +- (Core) `exporterhelper`: Enable the new pull-based batcher in exporterhelper ([#12291](https://github.com/open-telemetry/opentelemetry-collector/pull/12291)) |
| 97 | +- (Core) `exporterhelper`: Update queue size after the element is done exported ([#12399](https://github.com/open-telemetry/opentelemetry-collector/pull/12399)) |
| 98 | + After this change the active queue size will include elements in the process of being exported. |
| 99 | +- (Core) `otelcol`: Add featuregate command to display information about available features ([#11998](https://github.com/open-telemetry/opentelemetry-collector/pull/11998)) |
| 100 | + The featuregate command allows users to view detailed information about feature gates |
| 101 | + including their status, stage, and description. |
| 102 | + |
| 103 | +### 🧰 Bug fixes 🧰 |
| 104 | +- (Contrib) `azureeventhubreceiver`: Fix bug where persisted offset would be ignored after restart ([#37157](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37157)) |
| 105 | +- (Contrib) `bearertokenauthextension`: Load token lazily for gRPC AUTH to fix token refresh issue ([#36749](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/36749)) |
| 106 | +- (Contrib) `k8sattributes`: Fix bug where `Filters.Labels` failed with when the `exists` or `not-exists` operations were used. ([#37913](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37913)) |
| 107 | +- (Contrib) `prometheusreceiver`: Start time metric adjuster now handles reset points correctly ([#37717](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37717)) |
| 108 | +- (Contrib) `awscontainerinsightreceiver`: Fix race condition in shutdown of AWS Container Insight receiver ([#37695](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/37695)) |
| 109 | +- (Core) `memorylimiter`: Logger no longer attributes to single signal, pipeline, or component. ([#12217](https://github.com/open-telemetry/opentelemetry-collector/pull/12217)) |
| 110 | +- (Core) `otlpreceiver`: Logger no longer attributes to random signal when receiving multiple signals. ([#12217](https://github.com/open-telemetry/opentelemetry-collector/pull/12217)) |
| 111 | +- (Core) `exporterhelper`: Fix undefined behavior access to request after send to next component. This causes random memory access. ([#12281](https://github.com/open-telemetry/opentelemetry-collector/pull/12281)) |
| 112 | +- (Core) `exporterhelper`: Fix default batcher to correctly call all done callbacks exactly once ([#12247](https://github.com/open-telemetry/opentelemetry-collector/pull/12247)) |
| 113 | +- (Core) `otlpreceiver`: Fix OTLP http receiver to correctly set Retry-After ([#12367](https://github.com/open-telemetry/opentelemetry-collector/pull/12367)) |
| 114 | +- (Core) `otlphttpexporter`: Fix parsing logic for Retry-After in OTLP http protocol. ([#12366](https://github.com/open-telemetry/opentelemetry-collector/pull/12366)) |
| 115 | + The value of Retry-After field can be either an HTTP-date or delay-seconds and the current logic only parsed delay-seconds. |
8 | 116 |
|
9 | 117 | ### 🚀 New components 🚀
|
10 | 118 |
|
11 |
| -- (Splunk) Add `influxdb` receiver ([#](https://github.com/signalfx/splunk-otel-collector/pull/)) |
| 119 | +- (Splunk) Add `influxdb` receiver ([#5925](https://github.com/signalfx/splunk-otel-collector/pull/5925)) |
12 | 120 |
|
13 | 121 | ## v0.119.0
|
14 | 122 |
|
|
0 commit comments