gyfora commented on code in PR #726: URL: https://github.com/apache/flink-kubernetes-operator/pull/726#discussion_r1425082293
########## flink-autoscaler/src/main/java/org/apache/flink/autoscaler/metrics/ScalingMetric.java: ########## @@ -65,15 +69,35 @@ public enum ScalingMetric { SCALE_DOWN_RATE_THRESHOLD(false), /** Expected true processing rate after scale up. */ - EXPECTED_PROCESSING_RATE(false); + EXPECTED_PROCESSING_RATE(false), - private final boolean calculateAverage; + /** + * Maximum GC pressure across taskmanagers. Percentage of time spent garbage collecting between + * 0 (no time in GC) and 1 (100% time in GC). + */ + GC_PRESSURE(false), + + /** Percentage of max heap used (between 0 and 1). */ + HEAP_USAGE(true); + + @Getter private final boolean calculateAverage; + + /** List of {@link ScalingMetric}s to be reported as per vertex Flink metrics. */ + public static final List<ScalingMetric> REPORTED_VERTEX_METRICS = + List.of( + LOAD, + TRUE_PROCESSING_RATE, + TARGET_DATA_RATE, + CATCH_UP_DATA_RATE, + LAG, + PARALLELISM, + RECOMMENDED_PARALLELISM, + MAX_PARALLELISM, + SCALE_UP_RATE_THRESHOLD, + SCALE_DOWN_RATE_THRESHOLD, + EXPECTED_PROCESSING_RATE); Review Comment: I have added a test to compare the list of evaluated metrics to this to help developers when adding new metrics. Initially I tried the enum based approach but it just makes the ScalingMetric enum more complicated without any practical benefit. We still have to make sure independently that these metrics are evaluated correctly for reporting. Will push this in a second -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org