@@ -428,6 +428,9 @@ extending the production code to implement this enhancement.
428
428
429
429
- ` <package> ` : ` <date> ` - ` <test coverage> `
430
430
431
+ - Unit tests to ensure that the metrics output meets expectations.
432
+ - Unit tests to ensure that the metrics deletion is functioning properly.
433
+
431
434
##### Integration tests
432
435
433
436
<!--
@@ -529,6 +532,21 @@ in back-to-back releases.
529
532
- Deprecate the flag
530
533
-->
531
534
535
+ #### Alpha
536
+
537
+ - Feature implemented behind a feature gate flag
538
+ - Add related integration and unit tests to ensure functionality and make sure there is no memory leak in
539
+ existing behavior
540
+
541
+ #### Beta
542
+
543
+ - Gather feedback from developers and surveys
544
+ - Work on feedback and add additional tests as needed
545
+
546
+ #### GA
547
+
548
+ - Decision on GA will be made based on beta feedback
549
+
532
550
### Upgrade / Downgrade Strategy
533
551
534
552
<!--
@@ -543,6 +561,8 @@ enhancement:
543
561
cluster required to make on upgrade, in order to make use of the enhancement?
544
562
-->
545
563
564
+ N/A
565
+
546
566
### Version Skew Strategy
547
567
548
568
<!--
@@ -602,16 +622,10 @@ well as the [existing list] of feature gates.
602
622
[existing list]: https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/
603
623
-->
604
624
605
- - [ ] Feature gate (also fill in values in ` kep.yaml ` )
625
+ - [X ] Feature gate (also fill in values in ` kep.yaml ` )
606
626
- Feature gate name: InformerMetrics
607
627
- Components depending on the feature gate:
608
628
- components via client-go library
609
- - [ ] Other
610
- - Describe the mechanism:
611
- - Will enabling / disabling the feature require downtime of the control
612
- plane?
613
- - Will enabling / disabling the feature require downtime or reprovisioning
614
- of a node?
615
629
616
630
###### Does enabling the feature change any default behavior?
617
631
@@ -655,7 +669,7 @@ You can take a look at one potential example of such test in:
655
669
https://github.com/kubernetes/kubernetes/pull/97058/files#diff-7826f7adbc1996a05ab52e3f5f02429e94b68ce6bce0dc534d1be636154fded3R246-R282
656
670
-->
657
671
658
- For now, there is no tests for feature enablement/disablement. The unit tests will be added.
672
+ For now, there is no tests for feature enablement/disablement. The unit / integration tests will be added.
659
673
660
674
### Rollout, Upgrade and Rollback Planning
661
675
@@ -713,6 +727,8 @@ checking if there are objects with field X set) may be a last resort. Avoid
713
727
logs or events for this purpose.
714
728
-->
715
729
730
+ - [x] Informer / Reflector (e.g., ` lists_total ` , ` watches_total ` ) metrics returned by the operator are populated
731
+
716
732
###### How can someone using this feature know that it is working for their instance?
717
733
718
734
<!--
@@ -724,13 +740,13 @@ and operation of this feature.
724
740
Recall that end users cannot usually observe component logs or access metrics.
725
741
-->
726
742
727
- - [ ] Events
728
- - Event Reason:
729
- - [ ] API .status
730
- - Condition name:
731
- - Other field:
732
- - [ ] Other (treat as last resort)
743
+ - [X] Other (treat as last resort)
733
744
- Details:
745
+ - The following metrics are available when ` InformerMetrics ` is enabled:
746
+ - lists_total
747
+ - watches_total
748
+ - last_resource_version
749
+ - etc.
734
750
735
751
###### What are the reasonable SLOs (Service Level Objectives) for the enhancement?
736
752
@@ -749,18 +765,19 @@ These goals will help you determine what you need to measure (SLIs) in the next
749
765
question.
750
766
-->
751
767
768
+ The feature gate will increase memory usage. The memory usage should not continuously grow.
769
+ The informerMetrics / eventHandlerMetrics / reflectorMetrics memory consumption is in a stable state.
770
+
752
771
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
753
772
754
773
<!--
755
774
Pick one more of these and delete the rest.
756
775
-->
757
776
758
- - [ ] Metrics
777
+ - [X ] Metrics
759
778
- Metric name: Memory usage
760
779
- [ Optional] Aggregation method:
761
780
- Components exposing the metric: Operating System/golang pprof
762
- - [ ] Other (treat as last resort)
763
- - Details:
764
781
765
782
###### Are there any missing metrics that would be useful to have to improve observability of this feature?
766
783
@@ -769,6 +786,8 @@ Describe the metrics themselves and the reasons why they weren't added (e.g., co
769
786
implementation difficulties, etc.).
770
787
-->
771
788
789
+ Not at the moment.
790
+
772
791
### Dependencies
773
792
774
793
<!--
0 commit comments