예제 #1
0
        protected virtual void UpdateConnectionLeakPerfCounter(int leakedConnection)
        {
            RemotePowershellPerformanceCountersInstance remotePowershellPerfCounter = ExchangeAuthorizationPlugin.RemotePowershellPerfCounter;

            if (remotePowershellPerfCounter != null)
            {
                remotePowershellPerfCounter.ConnectionLeak.RawValue += (long)leakedConnection;
            }
        }
예제 #2
0
        protected override void UpdateKeyToRemoveBudgetsPerfCounter(int size)
        {
            RemotePowershellPerformanceCountersInstance remotePowershellPerfCounter = ExchangeAuthorizationPlugin.RemotePowershellPerfCounter;

            if (remotePowershellPerfCounter != null)
            {
                remotePowershellPerfCounter.PerTenantKeyToRemoveBudgetsCacheSize.RawValue = (long)size;
            }
        }
예제 #3
0
        protected virtual void UpdateBudgetsPerfCounter(int size)
        {
            RemotePowershellPerformanceCountersInstance remotePowershellPerfCounter = ExchangeAuthorizationPlugin.RemotePowershellPerfCounter;

            if (remotePowershellPerfCounter != null)
            {
                remotePowershellPerfCounter.PerUserBudgetsDicSize.RawValue = (long)size;
            }
        }
예제 #4
0
        // Token: 0x060012D6 RID: 4822 RVA: 0x0003D31C File Offset: 0x0003B51C
        private void OnUserRemovedFromCache(string key, AuthZPluginUserToken userToken, RemoveReason reason)
        {
            ExTraceGlobals.PublicPluginAPITracer.TraceDebug <string, string, RemoveReason>(0L, "User token {0} with key {1} removed from cache. Reason: {2}.", userToken.UserName, key.ToString(), reason);
            RemotePowershellPerformanceCountersInstance remotePowershellPerfCounter = ExchangeAuthorizationPlugin.RemotePowershellPerfCounter;

            if (remotePowershellPerfCounter != null)
            {
                remotePowershellPerfCounter.AuthenticatedUserCacheSize.RawValue = (long)base.Count;
            }
        }
예제 #5
0
		private static RemotePowershellPerformanceCountersInstance CreatePerfCounter()
		{
			RemotePowershellPerformanceCountersInstance currentPerfCounter = RPSPerfCounterHelper.CurrentPerfCounter;
			using (Process currentProcess = Process.GetCurrentProcess())
			{
				currentPerfCounter.PID.RawValue = (long)currentProcess.Id;
			}
			currentPerfCounter.RequestsBeFailFasted.RawValue = 0L;
			return currentPerfCounter;
		}
        // Token: 0x060012F7 RID: 4855 RVA: 0x0003E240 File Offset: 0x0003C440
        internal static void UpdateAuthZPluginPerfCounters(BudgetManager budgetManager)
        {
            RemotePowershellPerformanceCountersInstance remotePowershellPerfCounter = ExchangeAuthorizationPlugin.RemotePowershellPerfCounter;

            if (remotePowershellPerfCounter != null)
            {
                remotePowershellPerfCounter.CurrentSessions.RawValue    = (long)budgetManager.TotalActiveRunspaces;
                remotePowershellPerfCounter.CurrentUniqueUsers.RawValue = (long)budgetManager.TotalActiveUsers;
            }
        }
예제 #7
0
        // Token: 0x060012D5 RID: 4821 RVA: 0x0003D2BC File Offset: 0x0003B4BC
        internal void AddUserToCache(string key, AuthZPluginUserToken userToken)
        {
            ExTraceGlobals.PublicPluginAPITracer.TraceDebug <string, string>(0L, "Add user token {0} with key {1} to cache.", userToken.UserName, key.ToString());
            base.InsertAbsolute(key, userToken, AuthenticatedUserCache.DefaultTimeOut, new RemoveItemDelegate <string, AuthZPluginUserToken>(this.OnUserRemovedFromCache));
            RemotePowershellPerformanceCountersInstance remotePowershellPerfCounter = ExchangeAuthorizationPlugin.RemotePowershellPerfCounter;

            if (remotePowershellPerfCounter != null)
            {
                remotePowershellPerfCounter.AuthenticatedUserCacheSize.RawValue = (long)base.Count;
            }
        }