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 {
continue
}
lf := acc.EffectiveLoadFactor()
if prev, ok := unique[acc.ID]; !ok || lf > prev {
unique[acc.ID] = lf
c := acc.Concurrency
if c <= 0 {
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{
ID: acc.ID,
MaxConcurrency: acc.EffectiveLoadFactor(),
MaxConcurrency: acc.Concurrency,
})
}
if len(batch) == 0 {