Просмотр исходного кода

addressing the review comments

Signed-off-by: Alan Rodrigues <alanr5691@yahoo.com>
Alan Rodrigues 3 лет назад
Родитель
Сommit
b144f667da

+ 5 - 5
pkg/costmodel/allocation.go

@@ -60,9 +60,9 @@ const (
 
 // Constants for Network Cost Subtype
 const (
-	networkZoneCost     = "NetworkZoneCost"
-	networkRegionCost   = "NetworkRegionCost"
-	networkInternetCost = "NetworkInternetCost"
+	networkCrossZoneCost   = "NetworkCrossZoneCost"
+	networkCrossRegionCost = "NetworkCrossRegionCost"
+	networkInternetCost    = "NetworkInternetCost"
 )
 
 // CanCompute should return true if CostModel can act as a valid source for the
@@ -500,8 +500,8 @@ func (cm *CostModel) computeAllocation(start, end time.Time, resolution time.Dur
 	applyRAMBytesUsedMax(podMap, resRAMUsageMax, podUIDKeyMap)
 	applyGPUsAllocated(podMap, resGPUsRequested, resGPUsAllocated, podUIDKeyMap)
 	applyNetworkTotals(podMap, resNetTransferBytes, resNetReceiveBytes, podUIDKeyMap)
-	applyNetworkAllocation(podMap, resNetZoneGiB, resNetZoneCostPerGiB, podUIDKeyMap, networkZoneCost)
-	applyNetworkAllocation(podMap, resNetRegionGiB, resNetRegionCostPerGiB, podUIDKeyMap, networkRegionCost)
+	applyNetworkAllocation(podMap, resNetZoneGiB, resNetZoneCostPerGiB, podUIDKeyMap, networkCrossZoneCost)
+	applyNetworkAllocation(podMap, resNetRegionGiB, resNetRegionCostPerGiB, podUIDKeyMap, networkCrossRegionCost)
 	applyNetworkAllocation(podMap, resNetInternetGiB, resNetInternetCostPerGiB, podUIDKeyMap, networkInternetCost)
 
 	// In the case that a two pods with the same name had different containers,

+ 5 - 12
pkg/costmodel/allocation_helpers.go

@@ -13,7 +13,6 @@ import (
 	"github.com/opencost/opencost/pkg/log"
 	"github.com/opencost/opencost/pkg/prom"
 	"github.com/opencost/opencost/pkg/util/timeutil"
-	"golang.org/x/exp/slices"
 	"k8s.io/apimachinery/pkg/labels"
 )
 
@@ -722,7 +721,6 @@ func applyNetworkAllocation(podMap map[podKey]*pod, resNetworkGiB []*prom.QueryR
 		costPerGiBByCluster[cluster] = res.Values[0].Value
 	}
 
-	unknownNetworkTypes := []string{}
 	for _, res := range resNetworkGiB {
 		podKey, err := resultPodKey(res, env.GetPromClusterLabel(), "namespace")
 		if err != nil {
@@ -753,24 +751,19 @@ func applyNetworkAllocation(podMap map[podKey]*pod, resNetworkGiB []*prom.QueryR
 				costPerGiB := costPerGiBByCluster[podKey.Cluster]
 				currentNetworkSubCost := gib * costPerGiB / float64(len(pods))
 				switch networkCostSubType {
-				case networkZoneCost:
-					alloc.NetworkZoneCost = currentNetworkSubCost
-				case networkRegionCost:
-					alloc.NetworkRegionCost = currentNetworkSubCost
+				case networkCrossZoneCost:
+					alloc.NetworkCrossZoneCost = currentNetworkSubCost
+				case networkCrossRegionCost:
+					alloc.NetworkCrossRegionCost = currentNetworkSubCost
 				case networkInternetCost:
 					alloc.NetworkInternetCost = currentNetworkSubCost
 				default:
-					if !slices.Contains(unknownNetworkTypes, networkCostSubType) {
-						unknownNetworkTypes = append(unknownNetworkTypes, networkCostSubType)
-					}
+					log.Warnf("CostModel.applyNetworkAllocation: unknown network subtype passed to the function: %s", networkCostSubType)
 				}
 				alloc.NetworkCost += currentNetworkSubCost
 			}
 		}
 	}
-	if len(unknownNetworkTypes) > 0 {
-		log.Warnf("CostModel.applyNetworkAllocation: unknown network subtype(s) passed to the function: %s", strings.Join(unknownNetworkTypes, ", "))
-	}
 }
 
 func resToNamespaceLabels(resNamespaceLabels []*prom.QueryResult) map[namespaceKey]map[string]string {

+ 9 - 9
pkg/kubecost/allocation.go

@@ -63,9 +63,9 @@ type Allocation struct {
 	NetworkTransferBytes       float64               `json:"networkTransferBytes"`
 	NetworkReceiveBytes        float64               `json:"networkReceiveBytes"`
 	NetworkCost                float64               `json:"networkCost"`
-	NetworkZoneCost            float64               `json:"networkZoneCost"`     // @bingen:field[version=16]
-	NetworkRegionCost          float64               `json:"networkRegionCost"`   // @bingen:field[version=16]
-	NetworkInternetCost        float64               `json:"networkInternetCost"` // @bingen:field[version=16]
+	NetworkCrossZoneCost       float64               `json:"networkCrossZoneCost"`   // @bingen:field[version=16]
+	NetworkCrossRegionCost     float64               `json:"networkCrossRegionCost"` // @bingen:field[version=16]
+	NetworkInternetCost        float64               `json:"networkInternetCost"`    // @bingen:field[version=16]
 	NetworkCostAdjustment      float64               `json:"networkCostAdjustment"`
 	LoadBalancerCost           float64               `json:"loadBalancerCost"`
 	LoadBalancerCostAdjustment float64               `json:"loadBalancerCostAdjustment"`
@@ -291,8 +291,8 @@ func (a *Allocation) Clone() *Allocation {
 		NetworkTransferBytes:       a.NetworkTransferBytes,
 		NetworkReceiveBytes:        a.NetworkReceiveBytes,
 		NetworkCost:                a.NetworkCost,
-		NetworkZoneCost:            a.NetworkZoneCost,
-		NetworkRegionCost:          a.NetworkRegionCost,
+		NetworkCrossZoneCost:       a.NetworkCrossZoneCost,
+		NetworkCrossRegionCost:     a.NetworkCrossRegionCost,
 		NetworkInternetCost:        a.NetworkInternetCost,
 		NetworkCostAdjustment:      a.NetworkCostAdjustment,
 		LoadBalancerCost:           a.LoadBalancerCost,
@@ -361,10 +361,10 @@ func (a *Allocation) Equal(that *Allocation) bool {
 	if !util.IsApproximately(a.NetworkCost, that.NetworkCost) {
 		return false
 	}
-	if !util.IsApproximately(a.NetworkZoneCost, that.NetworkZoneCost) {
+	if !util.IsApproximately(a.NetworkCrossZoneCost, that.NetworkCrossZoneCost) {
 		return false
 	}
-	if !util.IsApproximately(a.NetworkRegionCost, that.NetworkRegionCost) {
+	if !util.IsApproximately(a.NetworkCrossRegionCost, that.NetworkCrossRegionCost) {
 		return false
 	}
 	if !util.IsApproximately(a.NetworkInternetCost, that.NetworkInternetCost) {
@@ -786,8 +786,8 @@ func (a *Allocation) add(that *Allocation) {
 	a.GPUCost += that.GPUCost
 	a.RAMCost += that.RAMCost
 	a.NetworkCost += that.NetworkCost
-	a.NetworkZoneCost += that.NetworkZoneCost
-	a.NetworkRegionCost += that.NetworkRegionCost
+	a.NetworkCrossZoneCost += that.NetworkCrossZoneCost
+	a.NetworkCrossRegionCost += that.NetworkCrossRegionCost
 	a.NetworkInternetCost += that.NetworkInternetCost
 	a.LoadBalancerCost += that.LoadBalancerCost
 	a.SharedCost += that.SharedCost

+ 2 - 2
pkg/kubecost/allocation_json.go

@@ -29,8 +29,8 @@ func (a *Allocation) MarshalJSON() ([]byte, error) {
 	jsonEncodeFloat64(buffer, "networkTransferBytes", a.NetworkTransferBytes, ",")
 	jsonEncodeFloat64(buffer, "networkReceiveBytes", a.NetworkReceiveBytes, ",")
 	jsonEncodeFloat64(buffer, "networkCost", a.NetworkCost, ",")
-	jsonEncodeFloat64(buffer, "networkZoneCost", a.NetworkZoneCost, ",")
-	jsonEncodeFloat64(buffer, "networkRegionCost", a.NetworkRegionCost, ",")
+	jsonEncodeFloat64(buffer, "networkCrossZoneCost", a.NetworkCrossZoneCost, ",")
+	jsonEncodeFloat64(buffer, "networkCrossRegionCost", a.NetworkCrossRegionCost, ",")
 	jsonEncodeFloat64(buffer, "networkInternetCost", a.NetworkInternetCost, ",")
 	jsonEncodeFloat64(buffer, "networkCostAdjustment", a.NetworkCostAdjustment, ",")
 	jsonEncodeFloat64(buffer, "loadBalancerCost", a.LoadBalancerCost, ",")

+ 6 - 6
pkg/kubecost/kubecost_codecs.go

@@ -700,8 +700,8 @@ func (target *Allocation) MarshalBinaryWithContext(ctx *EncodingContext) (err er
 	buff.WriteFloat64(target.NetworkTransferBytes)       // write float64
 	buff.WriteFloat64(target.NetworkReceiveBytes)        // write float64
 	buff.WriteFloat64(target.NetworkCost)                // write float64
-	buff.WriteFloat64(target.NetworkZoneCost)            // write float64
-	buff.WriteFloat64(target.NetworkRegionCost)          // write float64
+	buff.WriteFloat64(target.NetworkCrossZoneCost)       // write float64
+	buff.WriteFloat64(target.NetworkCrossRegionCost)     // write float64
 	buff.WriteFloat64(target.NetworkInternetCost)        // write float64
 	buff.WriteFloat64(target.NetworkCostAdjustment)      // write float64
 	buff.WriteFloat64(target.LoadBalancerCost)           // write float64
@@ -914,19 +914,19 @@ func (target *Allocation) UnmarshalBinaryWithContext(ctx *DecodingContext) (err
 	// field version check
 	if uint8(16) <= version {
 		aa := buff.ReadFloat64() // read float64
-		target.NetworkZoneCost = aa
+		target.NetworkCrossZoneCost = aa
 
 	} else {
-		target.NetworkZoneCost = float64(0) // default
+		target.NetworkCrossZoneCost = float64(0) // default
 	}
 
 	// field version check
 	if uint8(16) <= version {
 		bb := buff.ReadFloat64() // read float64
-		target.NetworkRegionCost = bb
+		target.NetworkCrossRegionCost = bb
 
 	} else {
-		target.NetworkRegionCost = float64(0) // default
+		target.NetworkCrossRegionCost = float64(0) // default
 	}
 
 	// field version check