diff --git a/pkg/koordlet/qosmanager/helpers/metrics_query.go b/pkg/koordlet/qosmanager/helpers/metrics_query.go index 70b9ee97c..33fffdddd 100644 --- a/pkg/koordlet/qosmanager/helpers/metrics_query.go +++ b/pkg/koordlet/qosmanager/helpers/metrics_query.go @@ -190,9 +190,9 @@ func CollectContainerThrottledMetric(metricCache metriccache.MetricCache, contai return aggregateResult, nil } -func GenerateQueryParamsAvg(windowSeconds int64) *metriccache.QueryParam { +func GenerateQueryParamsAvg(windowDuration time.Duration) *metriccache.QueryParam { end := time.Now() - start := end.Add(-time.Duration(windowSeconds) * time.Second) + start := end.Add(-windowDuration) queryParam := &metriccache.QueryParam{ Aggregate: metriccache.AggregationTypeAVG, Start: &start, diff --git a/pkg/koordlet/qosmanager/plugins/cpuburst/cpu_burst.go b/pkg/koordlet/qosmanager/plugins/cpuburst/cpu_burst.go index f7b44bffb..b7e7b124f 100644 --- a/pkg/koordlet/qosmanager/plugins/cpuburst/cpu_burst.go +++ b/pkg/koordlet/qosmanager/plugins/cpuburst/cpu_burst.go @@ -258,7 +258,7 @@ func (b *cpuBurst) start() { // return isOverload, share pool usage ratio and message detail func (b *cpuBurst) getNodeStateForBurst(sharePoolThresholdPercent int64, podsMeta []*statesinformer.PodMeta) nodeStateForBurst { - overloadMetricDuration := util.MinInt64(int64(b.reconcileInterval*5), int64(10*time.Second)) + overloadMetricDuration := time.Duration(util.MinInt64(int64(b.reconcileInterval*5), int64(10*time.Second))) queryParam := helpers.GenerateQueryParamsAvg(overloadMetricDuration) queryMeta, err := metriccache.NodeCPUUsageMetric.BuildQueryMeta(nil) diff --git a/pkg/koordlet/qosmanager/plugins/cpuevict/cpu_evict.go b/pkg/koordlet/qosmanager/plugins/cpuevict/cpu_evict.go index e1fe5c4f1..23e0898bd 100644 --- a/pkg/koordlet/qosmanager/plugins/cpuevict/cpu_evict.go +++ b/pkg/koordlet/qosmanager/plugins/cpuevict/cpu_evict.go @@ -131,18 +131,18 @@ func (c *cpuEvictor) cpuEvict() { func (c *cpuEvictor) calculateMilliRelease(thresholdConfig *slov1alpha1.ResourceThresholdStrategy, windowSeconds int64) int64 { // Step1: Calculate release resource by BECPUResourceMetric in window - queryparam := helpers.GenerateQueryParamsAvg(windowSeconds) - querier, err := c.metricCache.Querier(*queryparam.Start, *queryparam.End) + queryParam := helpers.GenerateQueryParamsAvg(time.Duration(windowSeconds) * time.Second) + querier, err := c.metricCache.Querier(*queryParam.Start, *queryParam.End) if err != nil { klog.Warningf("get query failed, error %v", err) return 0 } // BECPUUsage - avgBECPUMilliUsage, count01 := getBECPUMetric(metriccache.BEResourceAllocationUsage, querier, queryparam.Aggregate) + avgBECPUMilliUsage, count01 := getBECPUMetric(metriccache.BEResourceAllocationUsage, querier, queryParam.Aggregate) // BECPURequest - avgBECPUMilliRequest, count02 := getBECPUMetric(metriccache.BEResourceAllocationRequest, querier, queryparam.Aggregate) + avgBECPUMilliRequest, count02 := getBECPUMetric(metriccache.BEResourceAllocationRequest, querier, queryParam.Aggregate) // BECPULimit - avgBECPUMilliRealLimit, count03 := getBECPUMetric(metriccache.BEResourceAllocationRealLimit, querier, queryparam.Aggregate) + avgBECPUMilliRealLimit, count03 := getBECPUMetric(metriccache.BEResourceAllocationRealLimit, querier, queryParam.Aggregate) // CPU Satisfaction considers the allocatable when policy=evictByAllocatable. avgBECPUMilliLimit := avgBECPUMilliRealLimit @@ -172,18 +172,18 @@ func (c *cpuEvictor) calculateMilliRelease(thresholdConfig *slov1alpha1.Resource } // Step2: Calculate release resource current - queryparam = helpers.GenerateQueryParamsLast(c.metricCollectInterval * 2) - querier, err = c.metricCache.Querier(*queryparam.Start, *queryparam.End) + queryParam = helpers.GenerateQueryParamsLast(c.metricCollectInterval * 2) + querier, err = c.metricCache.Querier(*queryParam.Start, *queryParam.End) if err != nil { klog.Warningf("get query failed, error %v", err) return 0 } // BECPUUsage - currentBECPUMilliUsage, _ := getBECPUMetric(metriccache.BEResourceAllocationUsage, querier, queryparam.Aggregate) + currentBECPUMilliUsage, _ := getBECPUMetric(metriccache.BEResourceAllocationUsage, querier, queryParam.Aggregate) // BECPURequest - currentBECPUMilliRequest, _ := getBECPUMetric(metriccache.BEResourceAllocationRequest, querier, queryparam.Aggregate) + currentBECPUMilliRequest, _ := getBECPUMetric(metriccache.BEResourceAllocationRequest, querier, queryParam.Aggregate) // BECPULimit - currentBECPUMilliRealLimit, _ := getBECPUMetric(metriccache.BEResourceAllocationRealLimit, querier, queryparam.Aggregate) + currentBECPUMilliRealLimit, _ := getBECPUMetric(metriccache.BEResourceAllocationRealLimit, querier, queryParam.Aggregate) // CPU Satisfaction considers the allocatable when policy=evictByAllocatable. currentBECPUMilliLimit := currentBECPUMilliRealLimit