Преглед изворни кода

add array length check before accessing lb.IngressIPAddresses

Calvin Wang пре 5 година
родитељ
комит
fc003962ff
1 измењених фајлова са 6 додато и 1 уклоњено
  1. 6 1
      pkg/costmodel/metrics.go

+ 6 - 1
pkg/costmodel/metrics.go

@@ -518,7 +518,12 @@ func StartCostModelMetricRecording(a *Accesses) bool {
 				keyParts := getLabelStringsFromKey(lbKey)
 				namespace := keyParts[0]
 				serviceName := keyParts[1]
-				ingressIP := lb.IngressIPAddresses[0] // assumes one ingress IP per load balancer
+				ingressIP := ""
+				if len(lb.IngressIPAddresses) > 0 {
+					ingressIP = lb.IngressIPAddresses[0] // assumes one ingress IP per load balancer
+				} else {
+					ingressIP = "N/A"
+				}
 				a.LBCostRecorder.WithLabelValues(ingressIP, namespace, serviceName).Set(lb.Cost)
 
 				labelKey := getKeyFromLabelStrings(namespace, serviceName)