Skip to content

[receiver/kubeletstatsreceiver] Deprecate GCEPersistentDisk, AWSElasticBlockStore, Glusterfs volume types#45896

Merged
ChrsMark merged 5 commits intoopen-telemetry:mainfrom
osullivandonal:kubeletstat-deprecate-volume-types
Feb 9, 2026
Merged

[receiver/kubeletstatsreceiver] Deprecate GCEPersistentDisk, AWSElasticBlockStore, Glusterfs volume types#45896
ChrsMark merged 5 commits intoopen-telemetry:mainfrom
osullivandonal:kubeletstat-deprecate-volume-types

Conversation

@osullivandonal
Copy link
Contributor

@osullivandonal osullivandonal commented Feb 5, 2026

Description

This work deprecates the following volume types resource attribute from the kubeletstatsreceiver:

These volume types have already been deprecated by k8s:

Link to tracking issue

Fixes #40477

Testing

Generated unit-tests cover the deprecated logs.

Documentation

The README was updated to reflect the deprecated volume types.

@@ -13,8 +13,10 @@
description: "The id of the AWS Volume"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
description: "The id of the AWS Volume"
description: "[DEPRECATED] The id of the AWS Volume"

Can we have notes like this in the docs too?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good shout, I have done this in 0924b82.

description: "Container id used to identify container"
enabled: true
type: string
fs.type:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't fs.type also absolute if both GCEPersistentDisk and AWSElasticBlockStore are deprecated and going to be removed?

Same for partition?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good spot, I missed this, this is done in 0924b82.

These attributes have also been deprecated as they are only used by
GCEPersistentDisk and AWSElasticBlockStore
@ChrsMark ChrsMark merged commit 0a89303 into open-telemetry:main Feb 9, 2026
208 checks passed
@osullivandonal osullivandonal deleted the kubeletstat-deprecate-volume-types branch February 9, 2026 09:06
cjksplunk added a commit to cjksplunk/opentelemetry-collector-contrib that referenced this pull request Feb 9, 2026
* Additional query-level metrics that can be emitted as Logs to include query and plan text

* Updating tests

* reverted changes to var name

* removed query_metrics_as_logs

* reverted go to 1.23.0

* set new metrics to default enabled false

* updated to remove query_metrics_as_logs

* updated to remove query_metrics_as_logs

* moved logs to development stability

* Because metrics and logs are now both reported, but are not gathered concurrently, there is a need to track the last gathering time for each path. Also updated time calculation

* Changing metric names and many log metrics per EO, adding scope name and version, updating test data.

* Removed now unused columns and edited appropriate query

* Updated config per EO to have top_query_collection.top_query_count

* Updated log EventName

* Moved some attribute keys to constants

* removed unnecessary empty log checking

* re-added some metrics to the query.
moved EXPLAIN queries to a transaction to avoid creating too many db connections.
Added logging of performance_schema_max_sql_text_length since queries that are longer than that value will be truncated and cannot be used to derive the explain plan.

* Added enablement to top_query_collection

* updated the expected data

* defaulted the TopQueryCollection enablement to false per OTel guidelines

* Updated docs to include top_query_collection

* re-added log metric attributes that had been previously backed out.
compacted the JSON query plan, updated placeholder values if plan is not available.

* Updated to cover code updates

* Updates covering changes requested by EO and test updates

* Adding missing test data file

* Updating docs to list Logs attributes emitted in top_query_collection

* Updates to make the topx and samples export

* Adding Sha256 hash for plan hash

* Updates to make the topx and samples export

* updating error logging

* Update query plan retrieval so that if a plan cannot be retrieved.

* Adding schema to the samples query so that the explain plan for the query can be retrieved if needed.

* Updating attribute names for tests

* Updating attribute names for tests and adding the current schema to the results.

* Updating attribute names

* Adding an explanation about limits to retrieving EXPLAIN plans.

* Updates based on attribute renaming

* Updates based on attribute renaming and fetching EXPLAIN plan and hash for samples

* Updates based on attribute renaming

* updated autogen docs and generated code

* Adding changelog file

* Reverting irrelevant change

* Reverting irrelevant change

* Update Changelog

* [receiver/statsdreceiver] Discard NaN and infinite metric values (open-telemetry#45357)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Add validation to discard StatsD metrics with NaN (Not-a-Number) or
infinite values before aggregation. These values are invalid for metric
collection and can cause issues in downstream metric processing and
storage systems.


<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
n/a

<!--Describe what testing was performed and which tests were added.-->
#### Testing
- Added `TestStatsDParser_DiscardInvalidValues` covering NaN/Inf
rejection for all metric types
  - All existing tests pass: `go test ./...`
<!--Describe the documentation added.-->
#### Documentation
n/a
<!--Please delete paragraphs that you did not use before submitting.-->

Co-authored-by: Christos Markou <chrismarkou92@gmail.com>

* [chore] Add configuration schema for Sumo Logic processor (open-telemetry#45921)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Schema was generated with
[schemagen](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/schemagen/README.md)
script.

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue

open-telemetry#42214

* [chore] Add configuration schemas for various receivers (open-telemetry#45750)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Added configuration schemas to following components:

1. saphanareceiver
2. signalfxreceiver
3. simpleprometheusreceiver
4. skywalkingreceiver
5. snmpreceiver
6. snowflakereceiver
7. solacereceiver
8. splunkenterprisereceiver
9. splunkhecreceiver
10. sqlqueryreceiver
11. sqlserverreceiver
12. sshcheckreceiver
13. statsdreceiver
14. stefreceiver
15. syslogreceiver
16. systemdreceiver
17. tcpcheckreceiver
18. tcplogreceiver
19. tlscheckreceiver
20. udplogreceiver
21. vcenterreceiver
22. wavefrontreceiver
23. webhookeventreceiver
24. windowseventlogreceiver
25. windowsperfcountersreceiver
26. windowsservicereceiver
27. yanggrpcreceiver
  28. zipkinreceiver

Schemas were generated with
[schemagen](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/cmd/schemagen/README.md)
script.

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue

open-telemetry#42214

* [receiver/prometheusremotewrite] add exemplar support for histograms (open-telemetry#45528)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This PR adds initial support for exemplars for histograms. The exemplars
arrive in a separate object in `Timeseries` array. Hence, we're required
to parse the exemplars first and cache them. We then attach exemplars to
histogram datapoints.
This is a known upstream bug and should be fixed
(prometheus/prometheus#17857).

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes
open-telemetry#44983

<!--Describe what testing was performed and which tests were added.-->
#### Testing

Added

* Fixup kafka exporter readme to clarify that exporter writes (open-telemetry#45879)

#### Description

Small readme issue I noticed.

* [receiver/mongodbreceiver] Check if metrics are enabled before collecting them to prevent errors when metrics are disabled (open-telemetry#41604)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR fixes the issue stated below, where mongodb receiver tries to
collect WiredTiger checkpoint data for disabled metric
mongodb.flushes.rate. I think we should add if clause to all metrics
that can be disabled, let's discuss.

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes
open-telemetry#41465

<!--Please delete paragraphs that you did not use before submitting.-->

---------

Co-authored-by: Antoine Toulme <atoulme@splunk.com>
Co-authored-by: Justin Voss <90650155+justinianvoss22@users.noreply.github.com>
Co-authored-by: Andrzej Stencel <andrzej.stencel@elastic.co>

* [extension/oidcauth] Add static public_keys_file to configuration (open-telemetry#45315)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

When provided, the extension will attempt to load a static set of public
keys from a JWKS file at the given path. These keys (and only these
keys) will be used to verify the signatures of incoming tokens.
Discovery will be disabled for any provider so configured.

In addition, the extension will set up a file watcher for each directory
referenced in this way, and will hot-reload the static keys in the JWKS
file whenever a change is noticed. This allows keys to be rotated
without necessarily needing to restart the collector. We extend the
`providerContainer` with a `Verify` method, so that we can encapsulate
the decision of "should we grab the mutex" in one location (we only need
to grab the mutex when using static configuration - it's unused
otherwise and we can avoid paying the cost of grabbing the lock).

Due to limitations of the underlying `go-oidc` library, only RSA, ECDSA,
and ED25519 public keys are supported.

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#44899 

<!--Describe what testing was performed and which tests were added.-->
#### Testing

The following tests were added:
- Config validation passes when a provider is configured with a valid
`public_keys_file`
- Config validation fails when a provider is configured with an invalid
`public_keys_file`
- Extension cannot start when a provider is configured with an invalid
`public_keys_file`
- Hot-reload works (asserting authentication failure when configured
with valid-but-incorrect keys, and then authentication success when the
file is updated with correct keys).

Additionally, I manually tested that I could sign a JWT with an internal
key, send telemetry to a local collector using that JWT as an auth
header, and that the collector validated the signature and accepted the
telemetry with keys from the `public_keys_file`. I had my network
disabled for good measure, to ensure we didn't try to load it from our
internal OIDC discovery endpoint. 😄

<!--Describe the documentation added.-->
#### Documentation

The README was updated to reference the new configuration setting.

<!--Please delete paragraphs that you did not use before submitting.-->

* [fix][receiver/fluentforward]: handle int overflow in conversion (open-telemetry#45252)

### receiver/fluentforward

#### Description

I expect this to be more of an edge case but when uint64 values are
received at the FluentD receiver, they are converted to pcommon.Value
using `SetInt(int64(val))`. This will result in values greater than
int64 max to overflow into negative values. This seems to be the
intended behaviour as there was already a test that asserted this.

This PR changes this behaviour by falling back to representing these
values in String format instead, only when they are too large to be
stored correctly as int64. For timestamps an error is thrown, but this
will only happen in a very distant future as these values are in seconds
since epoch.

#### Testing

Adjusted already existing test for max uint64 to assert the result to be
a string representing the actual value instead of the overflowing value
`-1`.

#### Documentation

I also added documentation about the entire conversion process for
future reference.

---------

Co-authored-by: Dónal O'Sullivan <92297851+osullivandonal@users.noreply.github.com>
Co-authored-by: Antoine Toulme <atoulme@splunk.com>

* [connector/signaltometrics] Rename `signaltometrics` to `signal_to_metrics` (open-telemetry#45714)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
This PR is part of the effort to standardize the naming on snake case.

Only thing to point out here is instance id path changes as well. I am
not sure if that is cause for concern or not.

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#45551

<!--Describe the documentation added.-->
#### Documentation
`README.md` updated accordingly

<!--Please delete paragraphs that you did not use before submitting.-->

* [processor/resourcedetection] Update semantic conventions to v1.39.0 and add support for cloud.platform in Vultr detector (open-telemetry#45512)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Update the semantic conventions package to `v1.39.0` and use the
semantic conventions values for the Vultr detector.

Add support for `cloud.platform` into Vultr detector.

---------

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>

* Update the default value for PostgreSQL top_n_query (open-telemetry#45587)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
The default value for top_n_query in PostgreSQL receiver is currently
set to be 1000. It means that, by default we collect 1000
(`max_rows_per_query`) queries from database and after sorting we will
export the whole 1000 (`top_n_query`) from receiver.

The expected behaviour, as done in other collectors (SQL Server &
Oracle), is to export 200 (`top_n_query`) queries after the sorting by
default.

_Current default value_
`TopNQuery:              1000`

_Proposed default value_
`TopNQuery:              200`

_Reference_
Default value in SQLServer implementation:
https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/sqlserverreceiver/factory.go#L60

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes
open-telemetry#45612

<!--Describe what testing was performed and which tests were added.-->
#### Testing

<!--Describe the documentation added.-->
#### Documentation

<!--Please delete paragraphs that you did not use before submitting.-->

* [internal/core] support DefaultValue in ActionKeyValue struct (open-telemetry#45513)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Support DefaultValues in the attraction library in order to support this
functionality in attributes and resource processors

Changes of this lib will be used in [this
PR](open-telemetry#45505)

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Part of
open-telemetry#45352

---------

Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>

* [receiver/kubeletstatsreceiver] Deprecate GCEPersistentDisk, AWSElasticBlockStore, Glusterfs volume types (open-telemetry#45896)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This work deprecates the following volume types resource attribute from
the kubeletstatsreceiver:

These volume types have already been deprecated by k8s:

- GCEPersistentDisk:
https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#gcepersistentdisk
- AWSElasticBlockStore:
https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#awselasticblockstore
- Glusterfs:
https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#glusterfs

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#40477 

<!--Describe what testing was performed and which tests were added.-->
#### Testing

Generated unit-tests cover the deprecated logs.

<!--Describe the documentation added.-->
#### Documentation

The README was updated to reflect the deprecated volume types.

<!--Please delete paragraphs that you did not use before submitting.-->

* [receiver/redfish] Change `system.host_name` and `base_url` as resource attributes (open-telemetry#45470)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
`system.host_name` and `base_url` are common to all metrics emitted by
this receiver. Hence, changed them as resource attributes

<!--Describe the documentation added.-->
#### Documentation
Added

<!--Please delete paragraphs that you did not use before submitting.-->

* [chore][internal/coreinternal] run make-generate-schemas (open-telemetry#45936)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Run missing `make generate-schemas` to fix schema config.

Introduced by
open-telemetry#45513

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>

* [exporter/opensearch] Fix crash when sending_queue configured (open-telemetry#45683)

fixes open-telemetry#45016 
#### Description
Fix OpenSearch exporter crash when sending_queue only configures batch

Problem
The OpenSearch exporter crashes with the error num_consumers must be
positive when sending_queue is configured with only the batch subsection
and omits num_consumers and queue_size.

Solution
Added an Unmarshal() method that applies default values when these
fields are not explicitly set:
`
num_consumers = 10
queue_size = 1000
`

This follows the same defaulting pattern already used by the
Elasticsearch exporter.

Testing
Added test case sending_queue_with_batch in config_test.go
All existing tests pass
Verified with race detection

---------

Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>

* [chore] [receiver/prometheusreceiver] Replace busy-wait loop with require.Eventually in staleness test (open-telemetry#45939)

#### Description

Replace the `time.Sleep` busy-wait polling loop for collector startup in
`TestStalenessMarkersEndToEnd` with `require.Eventually`. The previous
loop had no timeout and would hang forever if the collector failed to
start; `require.Eventually` adds a 30s safety timeout while remaining
idiomatic.

#### Link to tracking issue
Related to open-telemetry#44319

#### Testing

- `TestStalenessMarkersEndToEnd` passes
- All existing tests in `internal` package pass

#### Documentation

N/A

Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>

* [chore][exporter/datadog] Move ankitpatel96 to emeritus (open-telemetry#45945)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

Moves @ankitpatel96 to emeritus status. Thank you for your
contributions!

* Removing redundant network.peer.* event attributes

* Removing redundant network.peer.* event attributes

---------

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
Signed-off-by: odubajDT <ondrej.dubaj@dynatrace.com>
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Natasha <na.aleksandrova@gmail.com>
Co-authored-by: Christos Markou <chrismarkou92@gmail.com>
Co-authored-by: Jan Korona <jakorona@cisco.com>
Co-authored-by: Vihas Makwana <121151420+VihasMakwana@users.noreply.github.com>
Co-authored-by: Sam <370182+plantfansam@users.noreply.github.com>
Co-authored-by: Kamran Karimov <58477876+odorT@users.noreply.github.com>
Co-authored-by: Antoine Toulme <atoulme@splunk.com>
Co-authored-by: Justin Voss <90650155+justinianvoss22@users.noreply.github.com>
Co-authored-by: Andrzej Stencel <andrzej.stencel@elastic.co>
Co-authored-by: Andrew Hayworth <ahayworth@gmail.com>
Co-authored-by: MrWong99 <MrWong99@users.noreply.github.com>
Co-authored-by: Dónal O'Sullivan <92297851+osullivandonal@users.noreply.github.com>
Co-authored-by: Dylan Strohschein <dylan.strohschein@bindplane.com>
Co-authored-by: Paulo Dias <44772900+paulojmdias@users.noreply.github.com>
Co-authored-by: Sreenath <sreenathv@splunk.com>
Co-authored-by: odubajDT <93584209+odubajDT@users.noreply.github.com>
Co-authored-by: Khushi Jain <khushi.jain@elastic.co>
Co-authored-by: Himanshu Singh <himanshu.singh@sumologic.com>
Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
geekdave pushed a commit to oso-team/opentelemetry-collector-contrib that referenced this pull request Feb 20, 2026
…icBlockStore, Glusterfs volume types (open-telemetry#45896)

<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

This work deprecates the following volume types resource attribute from
the kubeletstatsreceiver:

These volume types have already been deprecated by k8s:

- GCEPersistentDisk:
https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#gcepersistentdisk
- AWSElasticBlockStore:
https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#awselasticblockstore
- Glusterfs:
https://v1-32.docs.kubernetes.io/docs/concepts/storage/volumes/#glusterfs

<!-- Issue number (e.g. open-telemetry#1234) or full URL to issue, if applicable. -->
#### Link to tracking issue
Fixes open-telemetry#40477 

<!--Describe what testing was performed and which tests were added.-->
#### Testing

Generated unit-tests cover the deprecated logs.

<!--Describe the documentation added.-->
#### Documentation

The README was updated to reflect the deprecated volume types.

<!--Please delete paragraphs that you did not use before submitting.-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deprecate K8s volume types that are deprecated already by K8s

4 participants