|
| 1 | +# KEP-1209: Metrics Stability Framework |
| 2 | + |
| 3 | +<!-- toc --> |
| 4 | +- [Release Signoff Checklist](#release-signoff-checklist) |
| 5 | +- [Summary](#summary) |
| 6 | +- [Motivation](#motivation) |
| 7 | +- [Proposal](#proposal) |
| 8 | +- [Design Details](#design-details) |
| 9 | + - [Graduation Criteria](#graduation-criteria) |
| 10 | + - [Net New -> Alpha Graduation](#net-new---alpha-graduation) |
| 11 | + - [Alpha -> Beta Graduation](#alpha---beta-graduation) |
| 12 | + - [Beta -> GA Graduation](#beta---ga-graduation) |
| 13 | + - [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy) |
| 14 | + - [Version Skew Strategy](#version-skew-strategy) |
| 15 | +- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire) |
| 16 | +- [Implementation History](#implementation-history) |
| 17 | +<!-- /toc --> |
| 18 | + |
| 19 | +## Release Signoff Checklist |
| 20 | + |
| 21 | +<!-- |
| 22 | +**ACTION REQUIRED:** In order to merge code into a release, there must be an |
| 23 | +issue in [kubernetes/enhancements] referencing this KEP and targeting a release |
| 24 | +milestone **before the [Enhancement Freeze](https://git.k8s.io/sig-release/releases) |
| 25 | +of the targeted release**. |
| 26 | +
|
| 27 | +For enhancements that make changes to code or processes/procedures in core |
| 28 | +Kubernetes—i.e., [kubernetes/kubernetes], we require the following Release |
| 29 | +Signoff checklist to be completed. |
| 30 | +
|
| 31 | +Check these off as they are completed for the Release Team to track. These |
| 32 | +checklist items _must_ be updated for the enhancement to be released. |
| 33 | +--> |
| 34 | + |
| 35 | +Items marked with (R) are required *prior to targeting to a milestone / release*. |
| 36 | + |
| 37 | +- [X] (R) Enhancement issue in release milestone, which links to KEP dir in [kubernetes/enhancements] (not the initial KEP PR) |
| 38 | +- [X] (R) KEP approvers have approved the KEP status as `implementable` |
| 39 | +- [X] (R) Design details are appropriately documented |
| 40 | +- [X] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input |
| 41 | +- [X] (R) Graduation criteria is in place |
| 42 | +- \[Predates\] (R) Production readiness review completed |
| 43 | +- \[Predates\] (R) Production readiness review approved |
| 44 | +- [X] "Implementation History" section is up-to-date for milestone |
| 45 | +- [X] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io] |
| 46 | +- [X] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes |
| 47 | + |
| 48 | +[kubernetes.io]: https://kubernetes.io/ |
| 49 | +[kubernetes/enhancements]: https://git.k8s.io/enhancements |
| 50 | +[kubernetes/kubernetes]: https://git.k8s.io/kubernetes |
| 51 | +[kubernetes/website]: https://git.k8s.io/website |
| 52 | + |
| 53 | +## Summary |
| 54 | + |
| 55 | +This proposal covers the implementation of metrics stability in the kubernetes/kubernetes repo (and anywhere else that consumes `component-base/metrics`). |
| 56 | + |
| 57 | +Historically, the implementation was split into four documents: |
| 58 | + |
| 59 | +1. [Metrics Stability Framework] |
| 60 | +1. [Metrics Stability Migration] |
| 61 | +1. [Metrics Validation and Verification] |
| 62 | +1. [Metrics Stability to Beta] |
| 63 | + |
| 64 | +This document is not net new and ties the four together in order to document the lifecycle of this feature. |
| 65 | + |
| 66 | +[Metrics Stability Framework]: keps/sig-instrumentation/1209-metrics-stability/20190404-kubernetes-control-plane-metrics-stability.md |
| 67 | +[Metrics Stability Migration]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-stability-migration.md |
| 68 | +[Metrics Validation and Verification]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-validation-and-verification.md |
| 69 | +[Metrics Stability to Beta]: keps/sig-instrumentation/1209-metrics-stability/20191028-metrics-stability-to-beta.md |
| 70 | + |
| 71 | +## Motivation |
| 72 | + |
| 73 | +See: |
| 74 | + |
| 75 | +1. [Metrics Stability Framework#Motivation] |
| 76 | +1. [Metrics Stability Migration#Motivation] |
| 77 | +1. [Metrics Validation and Verification#Motivation] |
| 78 | +1. [Metrics Stability to Beta#Motivation] |
| 79 | + |
| 80 | +[Metrics Stability Framework#Motivation]: keps/sig-instrumentation/1209-metrics-stability/20190404-kubernetes-control-plane-metrics-stability.md#motivation |
| 81 | +[Metrics Stability Migration#Motivation]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-stability-migration.md#motivation |
| 82 | +[Metrics Validation and Verification#Motivation]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-validation-and-verification.md#motivation |
| 83 | +[Metrics Stability to Beta#Motivation]: keps/sig-instrumentation/1209-metrics-stability/20191028-metrics-stability-to-beta.md#motivation |
| 84 | + |
| 85 | +## Proposal |
| 86 | + |
| 87 | +See: |
| 88 | + |
| 89 | +1. [Metrics Stability Framework#Proposal] |
| 90 | +1. [Metrics Stability Migration#General Migration Strategy] |
| 91 | +1. [Metrics Validation and Verification#Proposal] |
| 92 | +1. [Metrics Stability to Beta#Proposal] |
| 93 | + |
| 94 | +[Metrics Stability Framework#Proposal]: keps/sig-instrumentation/1209-metrics-stability/20190404-kubernetes-control-plane-metrics-stability.md#proposal |
| 95 | +[Metrics Stability Migration#General Migration Strategy]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-stability-migration.md#general-migration-strategy |
| 96 | +[Metrics Validation and Verification#Proposal]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-validation-and-verification.md#proposal |
| 97 | +[Metrics Stability to Beta#Proposal]: keps/sig-instrumentation/1209-metrics-stability/20191028-metrics-stability-to-beta.md#proposal |
| 98 | + |
| 99 | +## Design Details |
| 100 | + |
| 101 | +See: |
| 102 | + |
| 103 | +1. [Metrics Stability Framework#Design Details] |
| 104 | +1. [Metrics Validation and Verification#Design Details] |
| 105 | + |
| 106 | +[Metrics Stability Framework#Design Details]: keps/sig-instrumentation/1209-metrics-stability/20190404-kubernetes-control-plane-metrics-stability.md#design-details |
| 107 | +[Metrics Validation and Verification#Design Details]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-validation-and-verification.md#design-details |
| 108 | + |
| 109 | +### Graduation Criteria |
| 110 | + |
| 111 | +#### Net New -> Alpha Graduation |
| 112 | + |
| 113 | +See: |
| 114 | + |
| 115 | +1. [Metrics Stability Framework#Graduation Criteria] |
| 116 | +1. [Metrics Stability Migration#Graduation Criteria] |
| 117 | + |
| 118 | +[Metrics Stability Framework#Graduation Criteria]: keps/sig-instrumentation/1209-metrics-stability/20190404-kubernetes-control-plane-metrics-stability.md#graduation-criteria |
| 119 | +[Metrics Stability Migration#Graduation Criteria]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-stability-migration.md#graduation-criteria |
| 120 | + |
| 121 | +#### Alpha -> Beta Graduation |
| 122 | + |
| 123 | +See: |
| 124 | + |
| 125 | +1. [Metrics Validation and Verification#Graduation Criteria] |
| 126 | +1. [Metrics Stability to Beta#Graduation Criteria] |
| 127 | + |
| 128 | +[Metrics Validation and Verification#Graduation Criteria]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-validation-and-verification.md#graduation-criteria |
| 129 | +[Metrics Stability to Beta#Graduation Criteria]: keps/sig-instrumentation/1209-metrics-stability/20191028-metrics-stability-to-beta.md#graduation-criteria |
| 130 | + |
| 131 | +#### Beta -> GA Graduation |
| 132 | + |
| 133 | +- Select stable metrics from control plane components |
| 134 | +- Implement the ability to turn off individual metrics (see [here](keps/sig-instrumentation/1209-metrics-stability/20191028-metrics-stability-to-beta.md#non-goals)) |
| 135 | + |
| 136 | +**For non-optional features moving to GA, the graduation criteria must include |
| 137 | +[conformance tests].** |
| 138 | + |
| 139 | +TODO(@logicalhan): ^ |
| 140 | + |
| 141 | +[conformance tests]: https://git.k8s.io/community/contributors/devel/sig-architecture/conformance-tests.md |
| 142 | + |
| 143 | +### Upgrade / Downgrade Strategy |
| 144 | + |
| 145 | +See: |
| 146 | + |
| 147 | +- [Deprecation Lifecycle](keps/sig-instrumentation/1209-metrics-stability/20190404-kubernetes-control-plane-metrics-stability.md#deprecation-lifecycle) |
| 148 | +- [Deprecation of modified metrics from metrics overhaul KEP](keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-stability-migration.md#deprecation-of-modified-metrics-from-metrics-overhaul-kep) |
| 149 | +- [Escape Hatch](keps/sig-instrumentation/1209-metrics-stability/20191028-metrics-stability-to-beta.md#escape-hatch) |
| 150 | + |
| 151 | +### Version Skew Strategy |
| 152 | + |
| 153 | +N/A |
| 154 | + |
| 155 | +## Production Readiness Review Questionnaire |
| 156 | + |
| 157 | +N/A - this KEP predates PRR. @logicalhan to fill this in later if desired. |
| 158 | + |
| 159 | +## Implementation History |
| 160 | + |
| 161 | +See: |
| 162 | + |
| 163 | +1. [Metrics Stability Framework#Implementation History] |
| 164 | +1. [Metrics Stability Migration#Implementation History] |
| 165 | +1. [Metrics Validation and Verification#Implementation History] |
| 166 | +1. [Metrics Stability to Beta#Implementation History] |
| 167 | + |
| 168 | +[Metrics Stability Framework#Implementation History]: keps/sig-instrumentation/1209-metrics-stability/20190404-kubernetes-control-plane-metrics-stability.md#implementation-history |
| 169 | +[Metrics Stability Migration#Implementation History]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-stability-migration.md#implementation-history |
| 170 | +[Metrics Validation and Verification#Implementation History]: keps/sig-instrumentation/1209-metrics-stability/20190605-metrics-validation-and-verification.md#implementation-history |
| 171 | +[Metrics Stability to Beta#Implementation History]: keps/sig-instrumentation/1209-metrics-stability/20191028-metrics-stability-to-beta.md#implementation-history |
0 commit comments