Skip to content

Conversation

@richabanker
Copy link
Contributor

Which issue(s) this PR fixes:

Issue #kubernetes/kubernetes#133429

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: richabanker

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Dec 11, 2025
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. area/developer-guide Issues or PRs related to the developer guide sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. labels Dec 11, 2025
@richabanker
Copy link
Contributor Author

cc @dgrisonnet @dashpole

Name: "some_beta_metric",
Help: "some description",
StabilityLevel: kubemetrics.BETA,
DeprecatedVersion: "1.15", // this is a custom metadata field
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we want to include DeprecatedVersion in the beta example?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We do have it in the STABLE example too below, I guess its to emphasize that a metric can be deprecated irrespective of its level but there's a deprecation policy that will be followed based on the stability level of the metric to ensure the more stable metrics are not deleted suddenly without enough prior notice.

Copy link
Contributor

Choose a reason for hiding this comment

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

I would create a separate section for deprecation independent to stages.


By the beta stability contract, we mean:

1. the metric will not be deleted without graduating to stable first or being deprecated
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe include the number of releases it needs to be deprecated for?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

````

__Deprecated__ metrics will have their description text prefixed with a deprecation notice string '(Deprecated from x.y)' and a warning log will be emitted during metric registration (in the spirit of the official [Kubernetes deprecation policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli)).
__Deprecated__ metrics will have their description text prefixed with a deprecation notice string '(Deprecated since x.y.z)' and a warning log will be emitted during metric registration (in the spirit of the official [Kubernetes deprecation policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli)).
Copy link
Member

Choose a reason for hiding this comment

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

the deprecation version normally only has a major and minor version

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

@richabanker
Copy link
Contributor Author

Apologies for the late follow up here.
PTAL whenever possible.

@dashpole @dgrisonnet

@serathius
Copy link
Contributor

serathius commented Jan 9, 2026

Not blocking, but I would suggest extending the documentation (for both contributors and users) to explicitly describe the expectations for metric quality, usefulness, and production experience at each level. Similar to the Kubernetes feature lifecycle, metric levels like Alpha, Beta, and GA should reflect whether a metric has been validated in a real-world production environment.

For me that would be:

  • Alpha: New metrics with minimal or no production experience. There is no expectation for users to monitor them yet, as they may belong to Alpha features or haven't yet proven their long-term value. Due to the lack of production feedback, there is a high probability these metrics will change or be removed entirely.
  • Beta: Metrics that have been validated in production and deemed useful. While not yet "critical," it is recommended that users begin monitoring them. The expectation is that metrics for GA features and critical metrics for Beta features eventually graduate to this level. While less likely than Alpha, these metrics might still change if they are tightly coupled to internal implementation details..
  • GA: Crucial metrics covering core Kubernetes features that are expected to change very rarely, if ever. Users should prioritize monitoring these metrics to understand the fundamental health and performance of their clusters. Owned by SIGs.

@richabanker
Copy link
Contributor Author

Not blocking, but I would suggest extending the documentation (for both contributors and users) to explicitly describe the expectations for metric quality, usefulness, and production experience at each level. Similar to the Kubernetes feature lifecycle, metric levels like Alpha, Beta, and GA should reflect whether a metric has been validated in a real-world production environment.

For me that would be:

  • Alpha: New metrics with minimal or no production experience. There is no expectation for users to monitor them yet, as they may belong to Alpha features or haven't yet proven their long-term value. Due to the lack of production feedback, there is a high probability these metrics will change or be removed entirely.
  • Beta: Metrics that have been validated in production and deemed useful. While not yet "critical," it is recommended that users begin monitoring them. The expectation is that metrics for GA features and critical metrics for Beta features eventually graduate to this level. While less likely than Alpha, these metrics might still change if they are tightly coupled to internal implementation details..
  • GA: Crucial metrics covering core Kubernetes features that are expected to change very rarely, if ever. Users should prioritize monitoring these metrics to understand the fundamental health and performance of their clusters. Owned by SIGs.

I think thats a great addition. Included your suggestion in description for each level. Thanks!!

@richabanker
Copy link
Contributor Author

Any more suggestions / comments / concerns for this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/developer-guide Issues or PRs related to the developer guide cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants