private void LockBucket() { lock (this.instanceLock) { this.locked = true; this.lockedAt = TimeProvider.UtcNow; } DateTime value = this.LockedUntilUtcNonUpdating.Value; ThrottlingPerfCounterWrapper.IncrementBudgetsLockedOut(this.BudgetKey, value - TimeProvider.UtcNow); if (Globals.ProcessInstanceType != InstanceType.NotInitialized) { Globals.LogEvent(DirectoryEventLogConstants.Tuple_UserLockedOutThrottling, string.Empty, new object[] { this.BudgetKey, value, this.GetTraceInt(this.MaximumBalance), this.GetTraceInt(this.RechargeRate), this.GetTraceInt(this.MinimumBalance) }); } ExTraceGlobals.ClientThrottlingTracer.TraceDebug <DateTime, int>((long)this.GetHashCode(), "[TokenBucket.LockBucket] Bucket locked until {0}. Current Pending charges: {1}", value, this.PendingCharges); }