fix: use real Concurrency instead of LoadFactor for metrics and monitoring

LoadFactor should only affect scheduling weight, not load rate reporting.
This commit is contained in:
erio
2026-03-06 05:18:45 +08:00
parent af3a5076d6
commit c87e6526c1
2 changed files with 7 additions and 4 deletions

View File

@@ -64,9 +64,12 @@ func (s *OpsService) getAccountsLoadMapBestEffort(ctx context.Context, accounts
if acc.ID <= 0 { if acc.ID <= 0 {
continue continue
} }
lf := acc.EffectiveLoadFactor() c := acc.Concurrency
if prev, ok := unique[acc.ID]; !ok || lf > prev { if c <= 0 {
unique[acc.ID] = lf c = 1
}
if prev, ok := unique[acc.ID]; !ok || c > prev {
unique[acc.ID] = c
} }
} }

View File

@@ -391,7 +391,7 @@ func (c *OpsMetricsCollector) collectConcurrencyQueueDepth(parentCtx context.Con
} }
batch = append(batch, AccountWithConcurrency{ batch = append(batch, AccountWithConcurrency{
ID: acc.ID, ID: acc.ID,
MaxConcurrency: acc.EffectiveLoadFactor(), MaxConcurrency: acc.Concurrency,
}) })
} }
if len(batch) == 0 { if len(batch) == 0 {