|
5 | 5 | <!-- For unreleased changes, see entries in .chloggen --> |
6 | 6 | <!-- next version --> |
7 | 7 |
|
| 8 | +## v0.146.0 |
| 9 | + |
| 10 | +This Splunk OpenTelemetry Collector release includes changes from the [opentelemetry-collector v0.146.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.146.0) |
| 11 | +and the [opentelemetry-collector-contrib v0.146.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.146.0) releases where appropriate. |
| 12 | + |
| 13 | +### 🛑 Breaking changes 🛑 |
| 14 | + |
| 15 | +- (Core) `all`: Increase minimum Go version to 1.25 ([#14567](https://github.com/open-telemetry/opentelemetry-collector/pull/14567)) |
| 16 | +- (Contrib) `all`: Increase minimum Go version to 1.25 ([#46000](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/46000)) |
| 17 | +- (Contrib) `processor/k8s_attributes`: Introduce semantic conventions compliant feature gate pair for k8sattributes processor ([#44693](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44693)) |
| 18 | + - Added `processor.k8sattributes.EmitV1K8sConventions` feature gate to enable stable semantic convention attributes (singular form: `k8s.<workload>.label.<key>` and `k8s.<workload>.annotation.<key>`) |
| 19 | + - Added `processor.k8sattributes.DontEmitV0K8sConventions` feature gate to disable legacy non-compliant attributes (plural form: `k8s.<workload>.labels.<key>` and `k8s.<workload>.annotations.<key>`) |
| 20 | + - Both feature gates are in `alpha` stage and disabled by default |
| 21 | + - The processor now validates that legacy attributes cannot be disabled without enabling stable attributes |
| 22 | + - Deprecated `k8sattr.labelsAnnotationsSingular.allow` feature gate in favor of the new semconv-compliant gates (will be removed in v0.150.0) |
| 23 | + - During migration period, both legacy and stable attributes can coexist when `EmitV1K8sConventions` is enabled but `DontEmitV0K8sConventions` is not |
| 24 | +- (Contrib) `processor/resourcedetection`: Promote `processor.resourcedetection.propagateerrors` feature gate to Stable and is now always enabled ([#44609](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44609)) |
| 25 | +- (Contrib) `receiver/hostmetrics`: `process.context_switches` will now properly count context switches for all threads. ([#36804](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36804)) |
| 26 | + Previously, only the lead thread's context switches would be counter. We believe this was a bug, |
| 27 | + but are marking it as a breaking change since the values of these metrics may change drastically |
| 28 | + compared to previous expectations. However, the values you get now will be more accurate than before. |
| 29 | +- (Contrib) `receiver/kafkametrics`: `receiver.kafkametricsreceiver.UseFranzGo` feature gate is now in Beta stage and enabled by default ([#44600](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44600)) |
| 30 | + |
| 31 | +### 🚩 Deprecations 🚩 |
| 32 | + |
| 33 | +- (Contrib) `processor/k8s_attributes`: Rename `k8sattributes` processor to `k8s_attributes` processor and add deprecated alias `k8sattributes`. ([#45894](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45894)) |
| 34 | +- (Contrib) `receiver/kubeletstats`: The `GCEPersistentDisk`, `AWSElasticBlockStore`, and `Glusterfs` have been deprecated as these have been depreacted in k8s ([#40477](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40477)) |
| 35 | + K8s documentation for the three deprecated volume types is below: |
| 36 | + - GCEPersistentDisk: https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#gcepersistentdisk |
| 37 | + - AWSElasticBlockStore: https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#awselasticblockstore |
| 38 | + - Glusterfs: https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#glusterfs |
| 39 | +- (Contrib) `receiver/signalfx`: This receiver is deprecated. Please use the OTLP receiver instead ([#46079](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/46079)) |
| 40 | + This component will be removed in a future release. |
| 41 | +- (Contrib) `receiver/wavefront`: Deprecate the wavefront receiver ([#46087](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/46087)) |
| 42 | + There is no replacement for the wavefront receiver. |
| 43 | + Wavefront is EOL: https://support.broadcom.com/web/ecx/support-content-notification/-/external/content/release-announcements/0/25153 |
| 44 | + |
| 45 | +### 💡 Enhancements 💡 |
| 46 | + |
| 47 | +- (Splunk) `packaging`: Update Splunk OpenTelemetry Java agent to v2.25.0 ([#7249](https://github.com/signalfx/splunk-otel-collector/pull/7249)) |
| 48 | +- (Splunk) `packaging`: Update JMX metrics gatherer to v1.53.0 ([#7082](https://github.com/signalfx/splunk-otel-collector/pull/7082)) |
| 49 | +- (Core) `all`: Add detailed failure attributes to exporter send_failed metrics at detailed telemetry level. ([#13956](https://github.com/open-telemetry/opentelemetry-collector/issues/13956)) |
| 50 | + The `otelcol_exporter_send_failed_{spans,metric_points,log_records}` metrics now include |
| 51 | + failure attributes when telemetry level is Detailed: `error.type` (OpenTelemetry semantic convention |
| 52 | + describing the error class) and `error.permanent` (indicates if error is permanent/non-retryable). |
| 53 | + The `error.type` attribute captures gRPC status codes (e.g., "Unavailable", "ResourceExhausted"), |
| 54 | + standard Go context errors (e.g., "canceled", "deadline_exceeded"), |
| 55 | + and collector-specific errors (e.g., "shutdown"). |
| 56 | + This enables better alerting and debugging by providing standardized error classification. |
| 57 | +- (Core) `exporter/debug`: Add `output_paths` configuration option to control output destination when `use_internal_logger` is false. ([#10472](https://github.com/open-telemetry/opentelemetry-collector/issues/10472)) |
| 58 | + When `use_internal_logger` is set to `false`, the debug exporter now supports configuring the output destination via the `output_paths` option. |
| 59 | + This allows users to send debug exporter output to `stdout`, `stderr`, or a file path. |
| 60 | + The default value is `["stdout"]` to maintain backward compatibility. |
| 61 | +- (Contrib) `exporter/signalfx`: Preserve 'k8s.service.' property names on the 'k8s.service.uid' dimension instead of converting them to 'kubernetes_service_' prefix. ([#46291](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46291)) |
| 62 | +- (Contrib) `exporter/file`: Add support for rotation when group_by is enabled in file exporter ([#43143](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43143)) |
| 63 | +- (Contrib) `exporter/googlecloudstorage`: Add compression support for Google Cloud Storage exporter ([#45337](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45337)) |
| 64 | + The Google Cloud Storage exporter now supports compression of log data before uploading to GCS. |
| 65 | + Supported compression algorithms: `gzip` and `zstd`. |
| 66 | +- (Contrib) `exporter/kafka`: Add `conn_idle_timeout` configuration option to control when idle connections are not reused and may be closed. ([#45321](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/45321)) |
| 67 | + Defaults to 9 minutes. |
| 68 | +- (Contrib) `pkg/ottl`: Add `IsInCIDR` function to check if IP belongs to given list of CIDR ([#42215](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42215)) |
| 69 | +- (Contrib) `pkg/stanza`: Ensure filter operator does not split batches of entries ([#42391](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42391)) |
| 70 | +- (Contrib) `processor/filter`: Introduces inferred context conditions for filtering ([#37904](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/37904)) |
| 71 | + Introduces three new top-level config fields [metric_conditions, log_conditions, trace_conditions]. |
| 72 | + A user can supply OTTL conditions for each without needing to supply context. |
| 73 | +- (Contrib) `processor/k8s_attributes`: Added `container.image.tags` resource attribute with feature gate controls according to OpenTelemetry semantic conventions. ([#44589](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44589)) |
| 74 | +- (Contrib) `receiver/hostmetrics`: Add optional `system.memory.linux.shared` metric ([#32712](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/32712)) |
| 75 | + This metric reports shared memory usage, including tmpfs filesystems, |
| 76 | + System V shared memory, and POSIX shared memory. Currently only available |
| 77 | + on Linux systems due to platform-specific data availability. |
| 78 | + This corresponds to the `Shmem` field in `/proc/meminfo`. |
| 79 | +- (Contrib) `receiver/k8s_cluster`: Add opt-in service metrics derived from k8s Service and EndpointSlice API ([#45620](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45620)) |
| 80 | + New metrics (disabled by default): |
| 81 | + - `k8s.service.endpoint.count`: Number of endpoints by condition (ready, serving, terminating), address type, and zone |
| 82 | + - `k8s.service.load_balancer.ingress.count`: Number of load balancer ingress points assigned to the service |
| 83 | + New resource attributes: |
| 84 | + - `k8s.service.name`: The k8s service name |
| 85 | + - `k8s.service.uid`: The k8s service uid |
| 86 | + - `k8s.service.type`: The k8s service type |
| 87 | + - `k8s.service.traffic_distribution`: The service's traffic routing preference |
| 88 | + - `k8s.service.publish_not_ready_addresses`: Whether the service publishes endpoints before pods are ready |
| 89 | +- (Contrib) `receiver/kafka`: Add `conn_idle_timeout` configuration option to control when idle connections are not reused and may be closed. ([#45321](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/45321)) |
| 90 | + Defaults to 9 minutes. |
| 91 | +- (Contrib) `receiver/mongodb`: Add support for auth_mechanism, auth_source, and auth_mechanism_properties configuration options ([#40686](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/40686)) |
| 92 | + Users can now specify the authentication mechanism (e.g., SCRAM-SHA-256, GSSAPI, MONGODB-AWS), auth source database, |
| 93 | + and auth mechanism properties when connecting to MongoDB instances. This is particularly useful for MongoDB servers |
| 94 | + that require specific authentication mechanisms. For example, GSSAPI (Kerberos) may require SERVICE_NAME, and |
| 95 | + MONGODB-AWS may require AWS_SESSION_TOKEN when using temporary AWS credentials. |
| 96 | +- (Contrib) `receiver/prometheusremotewrite`: Improved performance when parsing Remote Write v2 requests. ([#45623](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45623)) |
| 97 | +- (Contrib) `receiver/prometheusremotewrite`: Add exemplar support to the Prometheus Remote Write receiver ([#44983](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44983)) |
| 98 | +- (Contrib) `receiver/sqlquery`: Add support for `initial_delay` in logs collection. ([#29671](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/29671)) |
| 99 | + Log collection now applies `initial_delay` (previously ignored). If `initial_delay` is not set, the first log collection now occurs at 1 second, instead of occurring after `collection_interval` time has passed. |
| 100 | +- (Contrib) `receiver/sqlserver`: Add the `sqlserver.procedure_id` and `sqlserver.procedure_name` attributes to TopQuery and Sample Events ([#44656](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44656)) |
| 101 | + Refined query and reported events to include stored procedure information when applicable. Additionally, the maximum number of active queries reported by default has been increased from 200 to 250 to account for record deaggregation introduced by this change, ensuring the effective limit remains consistent with the previous 200-query baseline. |
| 102 | +- (Contrib) `receiver/statsd`: Discard StatsD metrics with NaN or infinite values to prevent invalid data from entering the metric pipeline ([#44288](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/44288)) |
| 103 | +- (Contrib) `receiver/syslog`: Add facility_text attribute to syslog parser output ([#45641](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45641)) |
| 104 | + The syslog parser now outputs a facility_text attribute containing |
| 105 | + the human-readable facility name (e.g., "auth", "kern", "local0") |
| 106 | + in addition to the existing numeric facility attribute. |
| 107 | + |
| 108 | +### 🧰 Bug fixes 🧰 |
| 109 | + |
| 110 | +- (Core) `pkg/config/confighttp`: Fix high cardinality span name from request method from confighttp server internal telemetry ([#14516](https://github.com/open-telemetry/opentelemetry-collector/issues/14516)) |
| 111 | + Follow spec to bound request method cardinality. |
| 112 | +- (Core) `pkg/otelcol`: Ignore component aliases in the `otelcol components` command ([#14492](https://github.com/open-telemetry/opentelemetry-collector/issues/14492)) |
| 113 | +- (Core) `pkg/otelcol`: Order providers and converters in alphabetical order in the `components` subcommand. ([#14476](https://github.com/open-telemetry/opentelemetry-collector/issues/14476)) |
| 114 | +- (Contrib) `extension/oauth2client`: Fix oauth2clientauth client-credentials grant type ([#45786](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45786)) |
| 115 | +- (Contrib) `extension/text_encoding`: Fix text encoding extension to not split large messages when no separator is configured. ([#45845](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45845)) |
| 116 | +- (Contrib) `pkg/stanza`: Fix recombine operator logging errors at ERROR level when `on_error` is set to quiet mode ([#42646](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/42646)) |
| 117 | +- (Contrib) `pkg/translator/prometheusremotewrite`: Fix export of Instrumentation Scope attributes as Prometheus labels. ([#45912](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45912)) |
| 118 | + Instrumentation Scope attributes (name, version, and other attributes) are now correctly translated to Prometheus labels with the `otel_scope_` prefix. |
| 119 | +- (Contrib) `processor/k8s_attributes`: Fix concurrent map access panic by cloning pod labels and annotations before extraction. ([#46112](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/46112)) |
| 120 | +- (Contrib) `processor/k8s_attributes`: Allow key_regex to work without tag_name by using the default tag name format ([#45719](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45719)) |
| 121 | + When using key_regex with capturing groups but without specifying tag_name, the processor now |
| 122 | + correctly uses the default tag name format (e.g., k8s.pod.labels.<label_key>) instead of |
| 123 | + producing empty tag names. |
| 124 | +- (Contrib) `processor/redaction`: Improve database sanitization with system-aware obfuscation, span name sanitization, and URL path parameter redaction. ([#44229](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44229)) |
| 125 | + - Database sanitization now validates span kind (CLIENT/SERVER/INTERNAL ) and requires db.system.name/db.system attribute for traces/metrics |
| 126 | + - Implemented span name obfuscation for database operations based on db.system |
| 127 | + - Added URL path parameter sanitization for span names with configurable pattern matching |
| 128 | + - Improved query validation database sanitizers |
| 129 | + - Fix issue ensuring no spans with `...` name can be generated due to enabling multiple sanitizers |
| 130 | + - If something went wrong during span name sanitization, original span name is used |
| 131 | +- (Contrib) `receiver/azure_event_hub`: Fixes a bug where the receiver would stop receiving messages after a parsing error. ([#45898](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45898)) |
| 132 | +- (Contrib) `receiver/fluentforward`: handle uint64 to int64 overflow by changing to string ([#45252](https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/45252)) |
| 133 | + FluentD supports record entries with uint64 types. OpenTelemetry log attributes only support int64 and no uint64. |
| 134 | + The old solution would overflow with uint64 values greater than `math.MaxInt64` and result in negative attribute values. |
| 135 | + This fix changes that behaviour by storing only those large values as string attributes instead. |
| 136 | +- (Contrib) `receiver/googlecloudpubsub`: Fix compression detection when both encoding and compression are set in the config ([#45810](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45810)) |
| 137 | +- (Contrib) `receiver/mongodb`: Check if metrics are enabled before collecting them to prevent errors when metrics are disabled. ([#41465](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/41465)) |
| 138 | +- (Contrib) `receiver/postgresql`: Updated the default value for top_n_query (200) to match with other db receivers ([#45612](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45612)) |
| 139 | + |
8 | 140 | ## v0.145.1 |
9 | 141 |
|
10 | 142 | This Splunk OpenTelemetry Collector release includes changes from the [opentelemetry-collector v0.145.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.145.0) |
|
0 commit comments