Correctly handle HorizontalPodAutoscaler metrics with 0 usage (#5986)

This commit is contained in:
Sebastian Malton authored and GitHub committed 2022-08-04 14:21:01 -04:00
1 parent 04652b4f90
commit 8dea3ad8bc
1 file changed
+4 -6
@@ -210,8 +210,6 @@ export class HorizontalPodAutoscalerApi extends KubeApi<HorizontalPodAutoscaler>
} }
} }
function getMetricName(metric: HorizontalPodAutoscalerMetricSpec | HorizontalPodAutoscalerMetricStatus): string | undefined { function getMetricName(metric: HorizontalPodAutoscalerMetricSpec | HorizontalPodAutoscalerMetricStatus): string | undefined {
switch (metric.type) { switch (metric.type) {
case HpaMetricType.Resource: case HpaMetricType.Resource:
@@ -232,12 +230,12 @@ function getMetricName(metric: HorizontalPodAutoscalerMetricSpec | HorizontalPod
function getResourceMetricValue(currentMetric: ResourceMetricStatus | undefined, targetMetric: ResourceMetricSource): MetricCurrentTarget { function getResourceMetricValue(currentMetric: ResourceMetricStatus | undefined, targetMetric: ResourceMetricSource): MetricCurrentTarget {
return { return {
current: ( current: (
currentMetric?.currentAverageUtilization typeof currentMetric?.currentAverageUtilization === "number"
? `${currentMetric.currentAverageUtilization}%` ? `${currentMetric.currentAverageUtilization}%`
: currentMetric?.currentAverageValue : currentMetric?.currentAverageValue
), ),
target: ( target: (
targetMetric?.targetAverageUtilization typeof targetMetric?.targetAverageUtilization === "number"
? `${targetMetric.targetAverageUtilization}%` ? `${targetMetric.targetAverageUtilization}%`
: targetMetric?.targetAverageValue : targetMetric?.targetAverageValue
), ),
@@ -280,12 +278,12 @@ function getExternalMetricValue(currentMetric: ExternalMetricStatus | undefined,
function getContainerResourceMetricValue(currentMetric: ContainerResourceMetricStatus | undefined, targetMetric: ContainerResourceMetricSource): MetricCurrentTarget { function getContainerResourceMetricValue(currentMetric: ContainerResourceMetricStatus | undefined, targetMetric: ContainerResourceMetricSource): MetricCurrentTarget {
return { return {
current: ( current: (
currentMetric?.currentAverageUtilization typeof currentMetric?.currentAverageUtilization === "number"
? `${currentMetric.currentAverageUtilization}%` ? `${currentMetric.currentAverageUtilization}%`
: currentMetric?.currentAverageValue : currentMetric?.currentAverageValue
), ),
target: ( target: (
targetMetric?.targetAverageUtilization typeof targetMetric?.targetAverageUtilization === "number"
? `${targetMetric.targetAverageUtilization}%` ? `${targetMetric.targetAverageUtilization}%`
: targetMetric?.targetAverageValue : targetMetric?.targetAverageValue
), ),