|
|
@@ -1335,83 +1335,127 @@ func (cm *CostModel) ComputeCostDataRange(cli prometheusClient.Client, clientset
|
|
|
var promErr error
|
|
|
var resultRAMRequests interface{}
|
|
|
go func() {
|
|
|
- resultRAMRequests, promErr = QueryRange(cli, queryRAMRequests, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryRAMRequests)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultRAMRequests, promErr = QueryRange(cli, queryRAMRequests, start, end, window)
|
|
|
}()
|
|
|
var resultRAMUsage interface{}
|
|
|
go func() {
|
|
|
- resultRAMUsage, promErr = QueryRange(cli, queryRAMUsage, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryRAMUsage)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultRAMUsage, promErr = QueryRange(cli, queryRAMUsage, start, end, window)
|
|
|
}()
|
|
|
var resultCPURequests interface{}
|
|
|
go func() {
|
|
|
- resultCPURequests, promErr = QueryRange(cli, queryCPURequests, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryCPURequests)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultCPURequests, promErr = QueryRange(cli, queryCPURequests, start, end, window)
|
|
|
}()
|
|
|
var resultCPUUsage interface{}
|
|
|
go func() {
|
|
|
- resultCPUUsage, promErr = QueryRange(cli, queryCPUUsage, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryCPUUsage)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultCPUUsage, promErr = QueryRange(cli, queryCPUUsage, start, end, window)
|
|
|
}()
|
|
|
var resultGPURequests interface{}
|
|
|
go func() {
|
|
|
- resultGPURequests, promErr = QueryRange(cli, queryGPURequests, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryGPURequests)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultGPURequests, promErr = QueryRange(cli, queryGPURequests, start, end, window)
|
|
|
}()
|
|
|
var resultPVRequests interface{}
|
|
|
go func() {
|
|
|
- resultPVRequests, promErr = QueryRange(cli, queryPVRequests, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryPVRequests)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultPVRequests, promErr = QueryRange(cli, queryPVRequests, start, end, window)
|
|
|
}()
|
|
|
var resultNetZoneRequests interface{}
|
|
|
go func() {
|
|
|
- resultNetZoneRequests, promErr = QueryRange(cli, queryNetZoneRequests, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryNetZoneRequests)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultNetZoneRequests, promErr = QueryRange(cli, queryNetZoneRequests, start, end, window)
|
|
|
}()
|
|
|
var resultNetRegionRequests interface{}
|
|
|
go func() {
|
|
|
- resultNetRegionRequests, promErr = QueryRange(cli, queryNetRegionRequests, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryNetRegionRequests)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultNetRegionRequests, promErr = QueryRange(cli, queryNetRegionRequests, start, end, window)
|
|
|
}()
|
|
|
var resultNetInternetRequests interface{}
|
|
|
go func() {
|
|
|
- resultNetInternetRequests, promErr = QueryRange(cli, queryNetInternetRequests, start, end, window)
|
|
|
+ defer measureTime(time.Now(), queryNetInternetRequests)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ resultNetInternetRequests, promErr = QueryRange(cli, queryNetInternetRequests, start, end, window)
|
|
|
}()
|
|
|
var pvPodAllocationResults interface{}
|
|
|
go func() {
|
|
|
- pvPodAllocationResults, promErr = QueryRange(cli, fmt.Sprintf(queryPVCAllocation, windowString), start, end, window)
|
|
|
+ pvAllocQuery := fmt.Sprintf(queryPVCAllocation, windowString)
|
|
|
+
|
|
|
+ defer measureTime(time.Now(), pvAllocQuery)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ pvPodAllocationResults, promErr = QueryRange(cli, pvAllocQuery, start, end, window)
|
|
|
}()
|
|
|
var pvCostResults interface{}
|
|
|
go func() {
|
|
|
- pvCostResults, promErr = QueryRange(cli, fmt.Sprintf(queryPVHourlyCost, windowString), start, end, window)
|
|
|
+ pvHourlyCostQuery := fmt.Sprintf(queryPVHourlyCost, windowString)
|
|
|
+
|
|
|
+ defer measureTime(time.Now(), pvHourlyCostQuery)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ pvCostResults, promErr = QueryRange(cli, pvHourlyCostQuery, start, end, window)
|
|
|
}()
|
|
|
var nsLabelsResults interface{}
|
|
|
go func() {
|
|
|
- nsLabelsResults, promErr = QueryRange(cli, fmt.Sprintf(queryNSLabels, windowString), start, end, window)
|
|
|
+ nsLabelQuery := fmt.Sprintf(queryNSLabels, windowString)
|
|
|
+
|
|
|
+ defer measureTime(time.Now(), nsLabelQuery)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ nsLabelsResults, promErr = QueryRange(cli, nsLabelQuery, start, end, window)
|
|
|
}()
|
|
|
var podLabelsResults interface{}
|
|
|
go func() {
|
|
|
- podLabelsResults, promErr = QueryRange(cli, fmt.Sprintf(queryPodLabels, windowString), start, end, window)
|
|
|
+ podLabelQuery := fmt.Sprintf(queryPodLabels, windowString)
|
|
|
+
|
|
|
+ defer measureTime(time.Now(), podLabelQuery)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ podLabelsResults, promErr = QueryRange(cli, podLabelQuery, start, end, window)
|
|
|
}()
|
|
|
var serviceLabelsResults interface{}
|
|
|
go func() {
|
|
|
- serviceLabelsResults, promErr = QueryRange(cli, fmt.Sprintf(queryServiceLabels, windowString), start, end, window)
|
|
|
+ serviceLabelQuery := fmt.Sprintf(queryServiceLabels, windowString)
|
|
|
+
|
|
|
+ defer measureTime(time.Now(), serviceLabelQuery)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ serviceLabelsResults, promErr = QueryRange(cli, serviceLabelQuery, start, end, window)
|
|
|
}()
|
|
|
var deploymentLabelsResults interface{}
|
|
|
go func() {
|
|
|
- deploymentLabelsResults, promErr = QueryRange(cli, fmt.Sprintf(queryDeploymentLabels, windowString), start, end, window)
|
|
|
+ depLabelQuery := fmt.Sprintf(queryDeploymentLabels, windowString)
|
|
|
+
|
|
|
+ defer measureTime(time.Now(), depLabelQuery)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ deploymentLabelsResults, promErr = QueryRange(cli, depLabelQuery, start, end, window)
|
|
|
}()
|
|
|
var normalizationResults interface{}
|
|
|
go func() {
|
|
|
- normalizationResults, promErr = QueryRange(cli, normalization, start, end, window)
|
|
|
+ defer measureTime(time.Now(), normalization)
|
|
|
defer wg.Done()
|
|
|
+
|
|
|
+ normalizationResults, promErr = QueryRange(cli, normalization, start, end, window)
|
|
|
}()
|
|
|
|
|
|
podDeploymentsMapping := make(map[string]map[string][]string)
|
|
|
@@ -1439,6 +1483,8 @@ func (cm *CostModel) ComputeCostDataRange(cli prometheusClient.Client, clientset
|
|
|
|
|
|
wg.Wait()
|
|
|
|
|
|
+ defer measureTime(time.Now(), "Processing Query Data")
|
|
|
+
|
|
|
if promErr != nil {
|
|
|
return nil, fmt.Errorf("Error querying prometheus: %s", promErr.Error())
|
|
|
}
|
|
|
@@ -2561,3 +2607,8 @@ func wrapPrometheusError(qr interface{}) (string, error) {
|
|
|
eStr, ok := e.(string)
|
|
|
return eStr, nil
|
|
|
}
|
|
|
+
|
|
|
+func measureTime(start time.Time, name string) {
|
|
|
+ elapsed := time.Since(start)
|
|
|
+ klog.V(1).Infof("[Profile][%s] %s", elapsed, name)
|
|
|
+}
|