public static void IncrementOverBudget(BudgetKey key, TimeSpan backoffTime) { if (!ThrottlingPerfCounterWrapper.PerfCountersInitialized) { return; } if (backoffTime == TimeSpan.Zero || backoffTime == TimeSpan.MaxValue) { backoffTime = ThrottlingPerfCounterWrapper.PerfCounterRefreshWindow; } ThrottlingPerfCounterWrapper.budgetsOverBudget.TryInsertAbsolute(key, key, backoffTime); ThrottlingPerfCounterWrapper.userThrottlingPerfCounters.UniqueBudgetsOverBudget.RawValue = (long)ThrottlingPerfCounterWrapper.budgetsOverBudget.Count; ThrottlingPerfCounterWrapper.LogEventsIfNecessary(); }