@@ -310,7 +310,7 @@ func (r *ClusterQueueReconciler) Create(e event.TypedCreateEvent[*kueue.ClusterQ
310310 }
311311
312312 if r .reportResourceMetrics {
313- recordResourceMetrics (e .Object )
313+ recordResourceMetrics (e .Object , r . roleTracker )
314314 }
315315
316316 return true
@@ -347,7 +347,7 @@ func (r *ClusterQueueReconciler) Update(e event.TypedUpdateEvent[*kueue.ClusterQ
347347 }
348348
349349 if r .reportResourceMetrics {
350- updateResourceMetrics (e .ObjectOld , e .ObjectNew )
350+ updateResourceMetrics (e .ObjectOld , e .ObjectNew , r . roleTracker )
351351 }
352352 return true
353353}
@@ -357,7 +357,7 @@ func (r *ClusterQueueReconciler) Generic(e event.TypedGenericEvent[*kueue.Cluste
357357 return true
358358}
359359
360- func recordResourceMetrics (cq * kueue.ClusterQueue ) {
360+ func recordResourceMetrics (cq * kueue.ClusterQueue , tracker * roletracker. RoleTracker ) {
361361 for rgi := range cq .Spec .ResourceGroups {
362362 rg := & cq .Spec .ResourceGroups [rgi ]
363363 for fqi := range rg .Flavors {
@@ -367,7 +367,7 @@ func recordResourceMetrics(cq *kueue.ClusterQueue) {
367367 nominal := resource .QuantityToFloat (& r .NominalQuota )
368368 borrow := resource .QuantityToFloat (r .BorrowingLimit )
369369 lend := resource .QuantityToFloat (r .LendingLimit )
370- metrics .ReportClusterQueueQuotas (cq .Spec .CohortName , cq .Name , string (fq .Name ), string (r .Name ), nominal , borrow , lend )
370+ metrics .ReportClusterQueueQuotas (cq .Spec .CohortName , cq .Name , string (fq .Name ), string (r .Name ), nominal , borrow , lend , tracker )
371371 }
372372 }
373373 }
@@ -376,28 +376,28 @@ func recordResourceMetrics(cq *kueue.ClusterQueue) {
376376 fr := & cq .Status .FlavorsReservation [fri ]
377377 for ri := range fr .Resources {
378378 r := & fr .Resources [ri ]
379- metrics .ReportClusterQueueResourceReservations (cq .Spec .CohortName , cq .Name , string (fr .Name ), string (r .Name ), resource .QuantityToFloat (& r .Total ))
379+ metrics .ReportClusterQueueResourceReservations (cq .Spec .CohortName , cq .Name , string (fr .Name ), string (r .Name ), resource .QuantityToFloat (& r .Total ), tracker )
380380 }
381381 }
382382
383383 for fui := range cq .Status .FlavorsUsage {
384384 fu := & cq .Status .FlavorsUsage [fui ]
385385 for ri := range fu .Resources {
386386 r := & fu .Resources [ri ]
387- metrics .ReportClusterQueueResourceUsage (cq .Spec .CohortName , cq .Name , string (fu .Name ), string (r .Name ), resource .QuantityToFloat (& r .Total ))
387+ metrics .ReportClusterQueueResourceUsage (cq .Spec .CohortName , cq .Name , string (fu .Name ), string (r .Name ), resource .QuantityToFloat (& r .Total ), tracker )
388388 }
389389 }
390390}
391391
392- func updateResourceMetrics (oldCq , newCq * kueue.ClusterQueue ) {
392+ func updateResourceMetrics (oldCq , newCq * kueue.ClusterQueue , tracker * roletracker. RoleTracker ) {
393393 // if the cohort changed, drop all the old metrics
394394 if oldCq .Spec .CohortName != newCq .Spec .CohortName {
395395 metrics .ClearClusterQueueResourceMetrics (oldCq .Name )
396396 } else {
397397 // selective remove
398398 clearOldResourceQuotas (oldCq , newCq )
399399 }
400- recordResourceMetrics (newCq )
400+ recordResourceMetrics (newCq , tracker )
401401}
402402
403403func clearOldResourceQuotas (oldCq , newCq * kueue.ClusterQueue ) {
@@ -578,7 +578,7 @@ func (r *ClusterQueueReconciler) updateCqStatusIfChanged(
578578 if weightedShare == math .Inf (1 ) {
579579 weightedShare = math .NaN ()
580580 }
581- metrics .ReportClusterQueueWeightedShare (cq .Name , string (cq .Spec .CohortName ), weightedShare )
581+ metrics .ReportClusterQueueWeightedShare (cq .Name , string (cq .Spec .CohortName ), weightedShare , r . roleTracker )
582582 }
583583 if cq .Status .FairSharing == nil {
584584 cq .Status .FairSharing = & kueue.FairSharingStatus {}
0 commit comments