|
@@ -702,10 +702,11 @@ func findDeletedNodeInfo(cli prometheusClient.Client, missingNodes map[string]*c
|
|
|
if len(missingNodes) > 0 {
|
|
if len(missingNodes) > 0 {
|
|
|
defer measureTime(time.Now(), profileThreshold, "Finding Deleted Node Info")
|
|
defer measureTime(time.Now(), profileThreshold, "Finding Deleted Node Info")
|
|
|
|
|
|
|
|
- queryHistoricalCPUCost := fmt.Sprintf(`avg_over_time(node_cpu_hourly_cost[%s] offset %s)`, window, offset)
|
|
|
|
|
- queryHistoricalRAMCost := fmt.Sprintf(`avg_over_time(node_ram_hourly_cost[%s] offset %s)`, window, offset)
|
|
|
|
|
- queryHistoricalGPUCost := fmt.Sprintf(`avg_over_time(node_gpu_hourly_cost[%s] offset %s)`, window, offset)
|
|
|
|
|
|
|
+ queryHistoricalCPUCost := fmt.Sprintf(`avg(avg_over_time(node_cpu_hourly_cost[%s] offset %s)) by (node, instance, cluster_id)`, window, offset)
|
|
|
|
|
+ queryHistoricalRAMCost := fmt.Sprintf(`avg(avg_over_time(node_ram_hourly_cost[%s] offset %s)) by (node, instance, cluster_id)`, window, offset)
|
|
|
|
|
+ queryHistoricalGPUCost := fmt.Sprintf(`avg(avg_over_time(node_gpu_hourly_cost[%s] offset %s)) by (node, instance, cluster_id)`, window, offset)
|
|
|
|
|
|
|
|
|
|
+ klog.Infof("RUNNIGN QUERY: %s", queryHistoricalCPUCost)
|
|
|
ctx := prom.NewContext(cli)
|
|
ctx := prom.NewContext(cli)
|
|
|
cpuCostResCh := ctx.Query(queryHistoricalCPUCost)
|
|
cpuCostResCh := ctx.Query(queryHistoricalCPUCost)
|
|
|
ramCostResCh := ctx.Query(queryHistoricalRAMCost)
|
|
ramCostResCh := ctx.Query(queryHistoricalRAMCost)
|
|
@@ -1445,7 +1446,8 @@ func requestKeyFor(startString string, endString string, windowString string, fi
|
|
|
return fmt.Sprintf("%s,%s,%s,%s,%s,%t", startKey, endKey, windowString, filterNamespace, filterCluster, remoteEnabled)
|
|
return fmt.Sprintf("%s,%s,%s,%s,%s,%t", startKey, endKey, windowString, filterNamespace, filterCluster, remoteEnabled)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-// Executes a range query for cost data
|
|
|
|
|
|
|
+// ComputeCostDataRange executes a range query for cost data.
|
|
|
|
|
+// Note that "offset" represents the time between the function call and "endString", and is also passed for convenience
|
|
|
func (cm *CostModel) ComputeCostDataRange(cli prometheusClient.Client, clientset kubernetes.Interface, cp costAnalyzerCloud.Provider,
|
|
func (cm *CostModel) ComputeCostDataRange(cli prometheusClient.Client, clientset kubernetes.Interface, cp costAnalyzerCloud.Provider,
|
|
|
startString, endString, windowString string, resolutionHours float64, filterNamespace string, filterCluster string, remoteEnabled bool, offset string) (map[string]*CostData, error) {
|
|
startString, endString, windowString string, resolutionHours float64, filterNamespace string, filterCluster string, remoteEnabled bool, offset string) (map[string]*CostData, error) {
|
|
|
// Create a request key for request grouping. This key will be used to represent the cost-model result
|
|
// Create a request key for request grouping. This key will be used to represent the cost-model result
|