Exemple #1
0
 // Token: 0x060004A8 RID: 1192 RVA: 0x0001B1D7 File Offset: 0x000193D7
 public static void UpdateDirectoryADRawCachePropertiesMismatchRate(bool mismatch)
 {
     ADProviderPerf.directoryADRawEntryPropertiesMisMatchCounter.Value.AddDenominator(1L);
     if (mismatch)
     {
         ADProviderPerf.directoryADRawEntryPropertiesMisMatchCounter.Value.AddNumerator(1L);
     }
     ADProviderPerf.InitializeTimerIfRequired();
 }
Exemple #2
0
        // Token: 0x060004A9 RID: 1193 RVA: 0x0001B208 File Offset: 0x00019408
        public static void UpdateADDriverCacheHitRate(bool cacheHit)
        {
            ADProviderPerf.adDriverCacheHitCounter.Value.AddDenominator(1L);
            if (cacheHit)
            {
                ADProviderPerf.adDriverCacheHitCounter.Value.AddNumerator(1L);
            }
            MSExchangeADAccessCacheCountersInstance value = ADProviderPerf.processADDriverCacheCounters.Value;

            if (value != null)
            {
                value.NumberOfCacheRequests.Increment();
            }
            ADProviderPerf.InitializeTimerIfRequired();
        }
Exemple #3
0
        // Token: 0x060004A3 RID: 1187 RVA: 0x0001AA18 File Offset: 0x00018C18
        public static void UpdateGlsCallLatency(string apiName, bool isRead, int latencyMsec, bool success)
        {
            GlsProcessPerformanceCountersInstance value = ADProviderPerf.processGlsCounters.Value;

            GlsPerformanceCounters.AverageOverallLatency.IncrementBy((long)latencyMsec);
            GlsPerformanceCounters.AverageOverallLatencyBase.Increment();
            if (isRead)
            {
                GlsPerformanceCounters.AverageReadLatency.IncrementBy((long)latencyMsec);
                GlsPerformanceCounters.AverageReadLatencyBase.Increment();
                if (value != null)
                {
                    value.AverageReadLatency.IncrementBy((long)latencyMsec);
                    value.AverageReadLatencyBase.Increment();
                }
            }
            else
            {
                GlsPerformanceCounters.AverageWriteLatency.IncrementBy((long)latencyMsec);
                GlsPerformanceCounters.AverageWriteLatencyBase.Increment();
                if (value != null)
                {
                    value.AverageWriteLatency.IncrementBy((long)latencyMsec);
                    value.AverageWriteLatencyBase.Increment();
                }
            }
            if (value != null)
            {
                value.AverageOverallLatency.IncrementBy((long)latencyMsec);
                value.AverageOverallLatencyBase.Increment();
                ADProviderPerf.perProcessPercentileGlsLatency.AddValue((long)latencyMsec);
                uint num = (uint)ADProviderPerf.perProcessPercentileGlsLatency.PercentileQuery(95.0);
                value.NinetyFifthPercentileLatency.IncrementBy((long)((ulong)num));
                value.NinetyFifthPercentileLatencyBase.Increment();
                num = (uint)ADProviderPerf.perProcessPercentileGlsLatency.PercentileQuery(99.0);
                value.NinetyNinthPercentileLatency.IncrementBy((long)((ulong)num));
                value.NinetyNinthPercentileLatencyBase.Increment();
                lock (ADProviderPerf.slidingTotalLockRoot)
                {
                    if (success)
                    {
                        ADProviderPerf.successesPerMinute.AddValue(1L);
                    }
                    else
                    {
                        ADProviderPerf.failuresPerMinute.AddValue(1L);
                    }
                }
                ADProviderPerf.InitializeTimerIfRequired();
            }
            switch (apiName)
            {
            case "FindTenant":
                GlsApiPerformanceCounters.FindTenantAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.FindTenantAverageOverallLatencyBase.Increment();
                return;

            case "FindDomain":
            case "FindDomains":
                GlsApiPerformanceCounters.FindDomainAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.FindDomainAverageOverallLatencyBase.Increment();
                return;

            case "FindUser":
                GlsApiPerformanceCounters.FindUserAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.FindUserAverageOverallLatencyBase.Increment();
                return;

            case "SaveTenant":
                GlsApiPerformanceCounters.SaveTenantAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.SaveTenantAverageOverallLatencyBase.Increment();
                return;

            case "SaveDomain":
                GlsApiPerformanceCounters.SaveDomainAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.SaveDomainAverageOverallLatencyBase.Increment();
                return;

            case "SaveUser":
                GlsApiPerformanceCounters.SaveUserAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.SaveUserAverageOverallLatencyBase.Increment();
                return;

            case "DeleteTenant":
                GlsApiPerformanceCounters.DeleteTenantAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.DeleteTenantAverageOverallLatencyBase.Increment();
                return;

            case "DeleteDomain":
                GlsApiPerformanceCounters.DeleteDomainAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.DeleteDomainAverageOverallLatencyBase.Increment();
                return;

            case "DeleteUser":
                GlsApiPerformanceCounters.DeleteUserAverageOverallLatency.IncrementBy((long)latencyMsec);
                GlsApiPerformanceCounters.DeleteUserAverageOverallLatencyBase.Increment();
                return;
            }
            throw new ArgumentException("Unknown API " + apiName);
        }
Exemple #4
0
        // Token: 0x060004A7 RID: 1191 RVA: 0x0001B068 File Offset: 0x00019268
        public static void UpdateDirectoryCacheHitRatio(bool cacheHit, ObjectType objectType)
        {
            ADProviderPerf.directoryCacheHitCounter.Value.AddDenominator(1L);
            if (cacheHit)
            {
                ADProviderPerf.directoryCacheHitCounter.Value.AddNumerator(1L);
            }
            if (objectType <= ObjectType.ActiveSyncMiniRecipient)
            {
                if (objectType <= ObjectType.MiniRecipient)
                {
                    switch (objectType)
                    {
                    case ObjectType.ExchangeConfigurationUnit:
                        ADProviderPerf.directoryConfigUnitCacheHitCounter.Value.AddDenominator(1L);
                        if (cacheHit)
                        {
                            ADProviderPerf.directoryConfigUnitCacheHitCounter.Value.AddNumerator(1L);
                            goto IL_15D;
                        }
                        goto IL_15D;

                    case ObjectType.Recipient:
                        break;

                    case ObjectType.ExchangeConfigurationUnit | ObjectType.Recipient:
                        goto IL_15D;

                    case ObjectType.AcceptedDomain:
                        ADProviderPerf.directoryAcceptedDomainCacheHitCounter.Value.AddDenominator(1L);
                        if (cacheHit)
                        {
                            ADProviderPerf.directoryAcceptedDomainCacheHitCounter.Value.AddNumerator(1L);
                            goto IL_15D;
                        }
                        goto IL_15D;

                    default:
                        if (objectType != ObjectType.MiniRecipient)
                        {
                            goto IL_15D;
                        }
                        break;
                    }
                }
                else if (objectType != ObjectType.TransportMiniRecipient && objectType != ObjectType.OWAMiniRecipient && objectType != ObjectType.ActiveSyncMiniRecipient)
                {
                    goto IL_15D;
                }
            }
            else if (objectType <= ObjectType.StorageMiniRecipient)
            {
                if (objectType != ObjectType.ADRawEntry)
                {
                    if (objectType != ObjectType.StorageMiniRecipient)
                    {
                        goto IL_15D;
                    }
                }
                else
                {
                    ADProviderPerf.directoryADRawEntryCacheHitCounter.Value.AddDenominator(1L);
                    if (cacheHit)
                    {
                        ADProviderPerf.directoryADRawEntryCacheHitCounter.Value.AddNumerator(1L);
                        goto IL_15D;
                    }
                    goto IL_15D;
                }
            }
            else if (objectType != ObjectType.LoadBalancingMiniRecipient && objectType != ObjectType.MiniRecipientWithTokenGroups && objectType != ObjectType.FrontEndMiniRecipient)
            {
                goto IL_15D;
            }
            ADProviderPerf.directoryRecipientCacheHitCounter.Value.AddDenominator(1L);
            if (cacheHit)
            {
                ADProviderPerf.directoryRecipientCacheHitCounter.Value.AddNumerator(1L);
            }
IL_15D:
            ADProviderPerf.InitializeTimerIfRequired();
        }