Example #1
0
 public static void GetPerfCounterInfo(XElement element)
 {
     if (MailboxLoadBalancePerformanceCounters.AllCounters == null)
     {
         return;
     }
     foreach (ExPerformanceCounter exPerformanceCounter in MailboxLoadBalancePerformanceCounters.AllCounters)
     {
         try
         {
             element.Add(new XElement(ExPerformanceCounter.GetEncodedName(exPerformanceCounter.CounterName), exPerformanceCounter.NextValue()));
         }
         catch (XmlException ex)
         {
             XElement content = new XElement("Error", ex.Message);
             element.Add(content);
         }
     }
 }
Example #2
0
        // Token: 0x06000173 RID: 371 RVA: 0x0000A5DC File Offset: 0x000087DC
        public static void IncrementCurrentUsersCounterBy(ExPerformanceCounter performanceCounter, long incrementValue)
        {
            if (performanceCounter == null)
            {
                throw new ArgumentNullException("performanceCounter");
            }
            if (!PerformanceCounterManager.currentUserCounterLocks.ContainsKey(performanceCounter.CounterName))
            {
                ExTraceGlobals.CoreTracer.TraceError <string>(0L, "The performance counter: \"{0}\" is not supported to be updated by method Globals.IncrementCurrentUsersCounterBy().", performanceCounter.CounterName);
                return;
            }
            object obj = PerformanceCounterManager.currentUserCounterLocks[performanceCounter.CounterName];

            lock (obj)
            {
                long num = PerformanceCounterManager.currentUserCounterValues[performanceCounter.CounterName];
                num += incrementValue;
                performanceCounter.RawValue = num;
                PerformanceCounterManager.currentUserCounterValues[performanceCounter.CounterName] = num;
            }
        }
        public override void GetPerfCounterDiagnosticsInfo(XElement topElement)
        {
            XElement xelement = null;

            foreach (ExPerformanceCounter exPerformanceCounter in this.counters)
            {
                try
                {
                    if (xelement == null)
                    {
                        xelement = new XElement(ExPerformanceCounter.GetEncodedName(exPerformanceCounter.InstanceName));
                        topElement.Add(xelement);
                    }
                    xelement.Add(new XElement(ExPerformanceCounter.GetEncodedName(exPerformanceCounter.CounterName), exPerformanceCounter.NextValue()));
                }
                catch (XmlException ex)
                {
                    XElement content = new XElement("Error", ex.Message);
                    topElement.Add(content);
                }
            }
        }
        // Token: 0x06002899 RID: 10393 RVA: 0x0009662C File Offset: 0x0009482C
        internal ConfigurationCachePerfCountersInstance(string instanceName) : base(instanceName, "MSExchange Owa Configuration Cache")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Configuration Cache requests per sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.Requests = new ExPerformanceCounter(base.CategoryName, "Configuration Cache Total requests", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.Requests);
                this.HitRatio = new ExPerformanceCounter(base.CategoryName, "Configuration Cache hit ratio", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.HitRatio);
                this.HitRatio_Base = new ExPerformanceCounter(base.CategoryName, "Configuration Cache hit ratio base counter", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.HitRatio_Base);
                this.CacheSize = new ExPerformanceCounter(base.CategoryName, "Configuration Cache size", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.CacheSize);
                this.CacheSizeKB = new ExPerformanceCounter(base.CategoryName, "Configuration Cache size in KB", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.CacheSizeKB);
                long num = this.Requests.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter2 in list)
                    {
                        exPerformanceCounter2.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }
        // Token: 0x06001122 RID: 4386 RVA: 0x000470CC File Offset: 0x000452CC
        private static TimeZoneOffsets.TimeZoneOffsetTable BuildCache(int startYear, int endYear, ExPerformanceCounter performanceCounter)
        {
            if (performanceCounter != null)
            {
                performanceCounter.Increment();
            }
            TimeZoneOffsets.TimeZoneOffsetTable timeZoneOffsetTable = new TimeZoneOffsets.TimeZoneOffsetTable();
            timeZoneOffsetTable.StartYear = startYear;
            timeZoneOffsetTable.EndYear   = endYear;
            List <TimeZoneOffset> list = new List <TimeZoneOffset>();

            foreach (ExTimeZone exTimeZone in ExTimeZoneEnumerator.Instance)
            {
                TimeZoneOffset timeZoneOffset = new TimeZoneOffset();
                timeZoneOffset.TimeZoneId = exTimeZone.Id;
                List <TimeZoneRange> list2      = new List <TimeZoneRange>();
                ExDateTime           t          = new ExDateTime(ExTimeZone.UtcTimeZone, endYear + 1, 1, 1);
                ExDateTime           exDateTime = new ExDateTime(ExTimeZone.UtcTimeZone, startYear, 1, 1);
                for (;;)
                {
                    int num = (int)exTimeZone.ConvertDateTime(exDateTime).Bias.TotalMinutes;
                    list2.Add(new TimeZoneRange
                    {
                        UtcTime = exDateTime,
                        Offset  = num
                    });
                    TimeSpan timeSpan  = TimeSpan.Zero;
                    TimeSpan timeSpan2 = TimeSpan.Zero;
                    while (exDateTime + timeSpan < t && exTimeZone.ConvertDateTime(exDateTime + timeSpan2).Bias.TotalMinutes == (double)num)
                    {
                        timeSpan  = timeSpan2;
                        timeSpan2 = timeSpan2.Add(TimeSpan.FromDays(7.0));
                    }
                    if (exDateTime + timeSpan >= t)
                    {
                        break;
                    }
                    while ((timeSpan2 - timeSpan).TotalMilliseconds > 1.0)
                    {
                        TimeSpan timeSpan3 = timeSpan.Add(TimeSpan.FromMilliseconds((timeSpan2.TotalMilliseconds - timeSpan.TotalMilliseconds) / 2.0));
                        if (exTimeZone.ConvertDateTime(exDateTime + timeSpan3).Bias.TotalMinutes == (double)num)
                        {
                            timeSpan = timeSpan3;
                        }
                        else
                        {
                            timeSpan2 = timeSpan3;
                        }
                    }
                    exDateTime += timeSpan2;
                }
                timeZoneOffset.OffsetRanges = list2.ToArray();
                list.Add(timeZoneOffset);
            }
            timeZoneOffsetTable.TimeZoneOffsets = list.ToArray();
            return(timeZoneOffsetTable);
        }
Example #6
0
 private static void UpdateCounterInstance(ExPerformanceCounter perfCounter, IPercentileCounter percentileCounter, uint percentile)
 {
     perfCounter.RawValue = percentileCounter.PercentileQuery(percentile);
 }
 public HitRatePerformanceCounters(ExPerformanceCounter hit, ExPerformanceCounter rate, ExPerformanceCounter custom)
 {
     this.hit    = hit;
     this.rate   = rate;
     this.custom = custom;
 }
        // Token: 0x06000063 RID: 99 RVA: 0x00003CBC File Offset: 0x00001EBC
        internal AutodiscoverDatacenterPerformanceCountersInstance(string instanceName) : base(instanceName, "MSExchangeAutodiscover:Datacenter")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Partner Token Requests/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.TotalPartnerTokenRequests = new ExPerformanceCounter(base.CategoryName, "Total Partner Token Requests", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.TotalPartnerTokenRequests);
                this.TotalPartnerTokenRequestsPerTimeWindow = new ExPerformanceCounter(base.CategoryName, "Total Partner Token Requests/Time Window", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalPartnerTokenRequestsPerTimeWindow);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter(base.CategoryName, "Partner Token Requests Failed/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.TotalPartnerTokenRequestsFailed = new ExPerformanceCounter(base.CategoryName, "Total Partner Token Requests Failed", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.TotalPartnerTokenRequestsFailed);
                this.TotalPartnerTokenRequestsFailedPerTimeWindow = new ExPerformanceCounter(base.CategoryName, "Total Partner Token Requests Failed/Time Window", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalPartnerTokenRequestsFailedPerTimeWindow);
                this.TotalCertAuthRequestsFailed = new ExPerformanceCounter(base.CategoryName, "Total Certificate Authentication Requests Failed", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalCertAuthRequestsFailed);
                this.TotalCertAuthRequestsFailedPerTimeWindow = new ExPerformanceCounter(base.CategoryName, "Total Certificate Authentication Requests Failed/Time Window", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalCertAuthRequestsFailedPerTimeWindow);
                this.AveragePartnerInfoQueryTime = new ExPerformanceCounter(base.CategoryName, "Average Partner Info Query Time", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AveragePartnerInfoQueryTime);
                ExPerformanceCounter exPerformanceCounter3 = new ExPerformanceCounter(base.CategoryName, "Requests Received with Partner Token/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter3);
                this.TotalRequestsReceivedWithPartnerToken = new ExPerformanceCounter(base.CategoryName, "Total Requests Received with Partner Token", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter3
                });
                list.Add(this.TotalRequestsReceivedWithPartnerToken);
                ExPerformanceCounter exPerformanceCounter4 = new ExPerformanceCounter(base.CategoryName, "Unauthorized Requests Received with Partner Token/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter4);
                this.TotalUnauthorizedRequestsReceivedWithPartnerToken = new ExPerformanceCounter(base.CategoryName, "Total Unauthorized Requests Received with Partner Token", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter4
                });
                list.Add(this.TotalUnauthorizedRequestsReceivedWithPartnerToken);
                long num = this.TotalPartnerTokenRequests.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter5 in list)
                    {
                        exPerformanceCounter5.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }
Example #9
0
 // Token: 0x0600000B RID: 11 RVA: 0x0000259C File Offset: 0x0000079C
 private static void IncrementPerClientInstanceForCounter(string userAgent, ExPerformanceCounter counter, ExPerformanceCounter associatedWindowCounter)
 {
     if (!string.IsNullOrEmpty(userAgent))
     {
         string client = userAgent.Split(new char[]
         {
             '/'
         })[0];
         if (!string.IsNullOrEmpty(client) && PerformanceCounters.trustedClientsList.Contains(client.ToLower()))
         {
             PerformanceCounters.EnsurePerClientPerfCounterInstancesExist(client, counter, associatedWindowCounter);
             PerformanceCounters.SafeUpdatePerfCounter(delegate
             {
                 PerformanceCounters.perClientInstanceTotalCounters[client + "_" + counter.CounterName].Increment();
             });
         }
     }
 }
 // Token: 0x0600111F RID: 4383 RVA: 0x00046EBC File Offset: 0x000450BC
 public static TimeZoneOffset[] GetTheTimeZoneOffsets(ExDateTime startTime, ExDateTime endTime, string timeZoneId = null, ExPerformanceCounter performanceCounter = null)
 {
     if (endTime < startTime)
     {
         throw new ArgumentException("End time must be greater than start time");
     }
     if (startTime.AddYears(100) < endTime)
     {
         throw new ArgumentException("Time range is too large: " + (endTime - startTime));
     }
     TimeZoneOffsets.TimeZoneOffsetTable timeZoneOffsetTable = TimeZoneOffsets.GetTableFromCache(startTime.Year, endTime.Year);
     if (timeZoneOffsetTable == null)
     {
         timeZoneOffsetTable = TimeZoneOffsets.BuildCache(startTime.Year, endTime.Year, performanceCounter);
         TimeZoneOffsets.AddTableToCache(timeZoneOffsetTable);
     }
     new List <TimeZoneOffset>();
     if (timeZoneId != null)
     {
         foreach (TimeZoneOffset timeZoneOffset in timeZoneOffsetTable.TimeZoneOffsets)
         {
             if (timeZoneOffset.TimeZoneId == timeZoneId)
             {
                 return(new TimeZoneOffset[]
                 {
                     timeZoneOffset
                 });
             }
         }
         return(null);
     }
     return(timeZoneOffsetTable.TimeZoneOffsets);
 }
Example #11
0
        private static void SetNumberAndPercentCounters(ExactTimeoutCache <BudgetKey, BudgetKey> cache, ExPerformanceCounter numberCounter, ExPerformanceCounter percentCounter)
        {
            if (!ThrottlingPerfCounterWrapper.PerfCountersInitialized)
            {
                return;
            }
            int budgetCount = ThrottlingPerfCounterWrapper.GetBudgetCount();
            int count       = cache.Count;

            numberCounter.RawValue = (long)count;
            int num = (budgetCount == 0) ? 0 : (100 * count / budgetCount);

            if (num > 100)
            {
                num = 100;
            }
            percentCounter.RawValue = (long)num;
        }
 internal AveragePerformanceCounterWrapper(ExPerformanceCounter performanceCounter)
 {
     this.performanceCounter = performanceCounter;
     this.slidingAverage     = new SlidingAverageCounter(TimeSpan.FromMinutes(1.0), TimeSpan.FromSeconds(1.0));
 }
Example #13
0
 public Query(ClientContext clientContext, HttpResponse httpResponse, CasTraceEventType casTraceEventType, ThreadCounter threadCounter, ExPerformanceCounter currentRequestsCounter) : this(casTraceEventType, threadCounter, currentRequestsCounter)
 {
     this.ClientContext = clientContext;
     this.HttpResponse  = httpResponse;
 }
Example #14
0
 public Query(CasTraceEventType casTraceEventType, ThreadCounter threadCounter, ExPerformanceCounter currentRequestsCounter)
 {
     this.casTraceEventType      = casTraceEventType;
     this.threadCounter          = threadCounter;
     this.currentRequestsCounter = currentRequestsCounter;
     this.Timeout = Configuration.WebRequestTimeoutInSeconds;
     this.requestProcessingDeadline = DateTime.UtcNow + this.Timeout;
     this.queryPrepareDeadline      = this.requestProcessingDeadline;
     this.RequestLogger             = new RequestLogger();
     ConfigurationReader.Start(this.RequestLogger);
 }
Example #15
0
        public LogUploaderDefaultCommonPerfCountersInstance(string instanceName, LogUploaderDefaultCommonPerfCountersInstance autoUpdateTotalInstance = null)
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log bytes processed/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.TotalLogBytesProcessed = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log bytes processed", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalLogBytesProcessed, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.TotalLogBytesProcessed);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log parse errors/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.TotalParseErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log parse errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalParseErrors, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.TotalParseErrors);
                this.BatchQueueLength = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log batch current queue length", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.BatchQueueLength, new ExPerformanceCounter[0]);
                list.Add(this.BatchQueueLength);
                this.InputBufferBatchCounts = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Input buffer batch count", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.InputBufferBatchCounts, new ExPerformanceCounter[0]);
                list.Add(this.InputBufferBatchCounts);
                this.InputBufferBackfilledLines = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Input buffer backfilled lines/sec", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.InputBufferBackfilledLines, new ExPerformanceCounter[0]);
                list.Add(this.InputBufferBackfilledLines);
                this.LogsNeverProcessedBefore = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Number of logs that have never been processed", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.LogsNeverProcessedBefore, new ExPerformanceCounter[0]);
                list.Add(this.LogsNeverProcessedBefore);
                this.AverageDbWriteLatency = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Average DB write time in seconds", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.AverageDbWriteLatency, new ExPerformanceCounter[0]);
                list.Add(this.AverageDbWriteLatency);
                this.AverageDbWriteLatencyBase = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Average DB write time in seconds Base", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.AverageDbWriteLatencyBase, new ExPerformanceCounter[0]);
                list.Add(this.AverageDbWriteLatencyBase);
                this.AverageInactiveParseLatency = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Average inactive log parse time in seconds", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.AverageInactiveParseLatency, new ExPerformanceCounter[0]);
                list.Add(this.AverageInactiveParseLatency);
                this.AverageInactiveParseLatencyBase = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Average inactive log parse time in seconds Base", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.AverageInactiveParseLatencyBase, new ExPerformanceCounter[0]);
                list.Add(this.AverageInactiveParseLatencyBase);
                ExPerformanceCounter exPerformanceCounter3 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log lines written to database/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter3);
                this.TotalLogLinesProcessed = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total log lines written to database", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalLogLinesProcessed, new ExPerformanceCounter[]
                {
                    exPerformanceCounter3
                });
                list.Add(this.TotalLogLinesProcessed);
                this.TotalIncompleteLogs = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of incomplete logs", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalIncompleteLogs, new ExPerformanceCounter[0]);
                list.Add(this.TotalIncompleteLogs);
                this.TotalIncomingLogs = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of incoming logs", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalIncomingLogs, new ExPerformanceCounter[0]);
                list.Add(this.TotalIncomingLogs);
                this.NumberOfIncomingLogs = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Number of new logs generated in the last directory scan interval", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.NumberOfIncomingLogs, new ExPerformanceCounter[0]);
                list.Add(this.NumberOfIncomingLogs);
                this.TotalCompletedLogs = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Number of logs that are completely processed", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalCompletedLogs, new ExPerformanceCounter[0]);
                list.Add(this.TotalCompletedLogs);
                this.TotalNewLogsBeginProcessing = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Number of new logs begin to be processed", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalNewLogsBeginProcessing, new ExPerformanceCounter[0]);
                list.Add(this.TotalNewLogsBeginProcessing);
                this.TotalOpticsTraces = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of traces sent to optics pipelines", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalOpticsTraces, new ExPerformanceCounter[0]);
                list.Add(this.TotalOpticsTraces);
                this.TotalOpticsTraceExtractionErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Optics trace data extraction errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalOpticsTraceExtractionErrors, new ExPerformanceCounter[0]);
                list.Add(this.TotalOpticsTraceExtractionErrors);
                this.OpticsTracesPerSecond = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Rate of traces sent to optics pipelines in seconds.", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.OpticsTracesPerSecond, new ExPerformanceCounter[0]);
                list.Add(this.OpticsTracesPerSecond);
                this.OpticsTraceExtractionErrorsPerSecond = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Rate of optics traces extraction errors.", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.OpticsTraceExtractionErrorsPerSecond, new ExPerformanceCounter[0]);
                list.Add(this.OpticsTraceExtractionErrorsPerSecond);
                this.TotalInvalidLogLineParseErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of log parse errors because of invalid log line", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalInvalidLogLineParseErrors, new ExPerformanceCounter[0]);
                list.Add(this.TotalInvalidLogLineParseErrors);
                ExPerformanceCounter exPerformanceCounter4 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "DB writes/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter4);
                this.TotalDBWrite = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of database writes", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalDBWrite, new ExPerformanceCounter[]
                {
                    exPerformanceCounter4
                });
                list.Add(this.TotalDBWrite);
                ExPerformanceCounter exPerformanceCounter5 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "DAL permanent errors/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter5);
                this.TotalDBPermanentErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of database permanent errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalDBPermanentErrors, new ExPerformanceCounter[]
                {
                    exPerformanceCounter5
                });
                list.Add(this.TotalDBPermanentErrors);
                ExPerformanceCounter exPerformanceCounter6 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "database transient errors/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter6);
                this.TotalDBTransientErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of database transient errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalDBTransientErrors, new ExPerformanceCounter[]
                {
                    exPerformanceCounter6
                });
                list.Add(this.TotalDBTransientErrors);
                this.TotalUnexpectedWriterErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of unexpected writer errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalUnexpectedWriterErrors, new ExPerformanceCounter[0]);
                list.Add(this.TotalUnexpectedWriterErrors);
                this.TotalLogReaderUnknownErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of unexpected log reader errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalLogReaderUnknownErrors, new ExPerformanceCounter[0]);
                list.Add(this.TotalLogReaderUnknownErrors);
                this.TotalMessageTracingDualWriteErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of MessageTracing dual write errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalMessageTracingDualWriteErrors, new ExPerformanceCounter[0]);
                list.Add(this.TotalMessageTracingDualWriteErrors);
                this.DirectoryCheck = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Directory check numbers", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.DirectoryCheck, new ExPerformanceCounter[0]);
                list.Add(this.DirectoryCheck);
                this.RawIncompleteBytes = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Combo raw data unprocessed bytes", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.RawIncompleteBytes, new ExPerformanceCounter[0]);
                list.Add(this.RawIncompleteBytes);
                ExPerformanceCounter exPerformanceCounter7 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Combo raw data input/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter7);
                this.RawTotalLogBytes = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Combo raw data input bytes", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.RawTotalLogBytes, new ExPerformanceCounter[]
                {
                    exPerformanceCounter7
                });
                list.Add(this.RawTotalLogBytes);
                ExPerformanceCounter exPerformanceCounter8 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Combo raw data parsed bytes/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter8);
                this.RawReaderParsedBytes = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Combo raw data parsed bytes", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.RawReaderParsedBytes, new ExPerformanceCounter[]
                {
                    exPerformanceCounter8
                });
                list.Add(this.RawReaderParsedBytes);
                ExPerformanceCounter exPerformanceCounter9 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Combo raw data processed bytes/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter9);
                this.RawWrittenBytes = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Combo raw data processed bytes", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.RawWrittenBytes, new ExPerformanceCounter[]
                {
                    exPerformanceCounter9
                });
                list.Add(this.RawWrittenBytes);
                this.IncompleteBytes = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log bytes unprocessed", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.IncompleteBytes, new ExPerformanceCounter[0]);
                list.Add(this.IncompleteBytes);
                ExPerformanceCounter exPerformanceCounter10 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log bytes input/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter10);
                this.TotalLogBytes = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log bytes input", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalLogBytes, new ExPerformanceCounter[]
                {
                    exPerformanceCounter10
                });
                list.Add(this.TotalLogBytes);
                ExPerformanceCounter exPerformanceCounter11 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log bytes parsed/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter11);
                this.ReaderParsedBytes = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Log bytes parsed", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.ReaderParsedBytes, new ExPerformanceCounter[]
                {
                    exPerformanceCounter11
                });
                list.Add(this.ReaderParsedBytes);
                this.DBWriteActiveTime = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "DB Write Active Time", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.DBWriteActiveTime, new ExPerformanceCounter[0]);
                list.Add(this.DBWriteActiveTime);
                this.LogReaderActiveTime = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "LogReader Active Time", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.LogReaderActiveTime, new ExPerformanceCounter[0]);
                list.Add(this.LogReaderActiveTime);
                this.LogMonitorActiveTime = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "LogMonitor Active Time", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.LogMonitorActiveTime, new ExPerformanceCounter[0]);
                list.Add(this.LogMonitorActiveTime);
                this.ThreadSafeQueueConsumerSemaphoreCount = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "queue consumer semaphore count", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.ThreadSafeQueueConsumerSemaphoreCount, new ExPerformanceCounter[0]);
                list.Add(this.ThreadSafeQueueConsumerSemaphoreCount);
                this.ThreadSafeQueueProducerSemaphoreCount = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "queue producer semaphore count", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.ThreadSafeQueueProducerSemaphoreCount, new ExPerformanceCounter[0]);
                list.Add(this.ThreadSafeQueueProducerSemaphoreCount);
                ExPerformanceCounter exPerformanceCounter12 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Missing certificate errors/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter12);
                this.TotalMissingCertificateErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of missing certificate errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalMissingCertificateErrors, new ExPerformanceCounter[]
                {
                    exPerformanceCounter12
                });
                list.Add(this.TotalMissingCertificateErrors);
                ExPerformanceCounter exPerformanceCounter13 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Saving MessageTypeMapping Saved/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter13);
                this.TotalMessageTypeMappingSaved = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of MessageTypeMapping saved", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalMessageTypeMappingSaved, new ExPerformanceCounter[]
                {
                    exPerformanceCounter13
                });
                list.Add(this.TotalMessageTypeMappingSaved);
                ExPerformanceCounter exPerformanceCounter14 = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Saving MessageTypeMappingerrors/sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter14);
                this.TotalMessageTypeMappingErrors = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of saving MessageTypeMapping errors", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalMessageTypeMappingErrors, new ExPerformanceCounter[]
                {
                    exPerformanceCounter14
                });
                list.Add(this.TotalMessageTypeMappingErrors);
                this.TotalRobocopyIncompleteLogs = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of robo copy incomplete logs", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.TotalRobocopyIncompleteLogs, new ExPerformanceCounter[0]);
                list.Add(this.TotalRobocopyIncompleteLogs);
                this.WriterPoisonDataBatch = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of writing poison batches", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.WriterPoisonDataBatch, new ExPerformanceCounter[0]);
                list.Add(this.WriterPoisonDataBatch);
                this.ReaderPoisonDataBatch = new ExPerformanceCounter("Microsoft Forefront Message Tracing service counters.", "Total number of parsing poison batches", instanceName, (autoUpdateTotalInstance == null) ? null : autoUpdateTotalInstance.ReaderPoisonDataBatch, new ExPerformanceCounter[0]);
                list.Add(this.ReaderPoisonDataBatch);
                long num = this.TotalLogBytesProcessed.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter15 in list)
                    {
                        exPerformanceCounter15.Close();
                    }
                }
            }
        }
        internal PerformanceCountersPerDatabaseInstance(string instanceName) : base(instanceName, "MSExchange Assistants - Per Database")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                this.EventsInQueueCurrent = new ExPerformanceCounter(base.CategoryName, "Events in queue", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.EventsInQueueCurrent);
                this.AverageEventProcessingTime = new ExPerformanceCounter(base.CategoryName, "Average Event Processing Time In seconds", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageEventProcessingTime);
                this.AverageEventProcessingTimeBase = new ExPerformanceCounter(base.CategoryName, "Average Event Processing Time Base", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageEventProcessingTimeBase);
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Events Polled/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.EventsPolled = new ExPerformanceCounter(base.CategoryName, "Events Polled", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.EventsPolled);
                this.PollingDelay = new ExPerformanceCounter(base.CategoryName, "Polling Delay", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.PollingDelay);
                this.HighestEventPolled = new ExPerformanceCounter(base.CategoryName, "Highest Event Counter Polled", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.HighestEventPolled);
                this.ElapsedTimeSinceLastEventPolled = new ExPerformanceCounter(base.CategoryName, "Elapsed Time Since Last Event Polled", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ElapsedTimeSinceLastEventPolled);
                this.ElapsedTimeSinceLastEventPollingAttempt = new ExPerformanceCounter(base.CategoryName, "Elapsed Time Since Last Event Polling Attempt", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ElapsedTimeSinceLastEventPollingAttempt);
                this.ElapsedTimeSinceLastDatabaseStatusUpdateAttempt = new ExPerformanceCounter(base.CategoryName, "Elapsed Time Since Last Database Status Update Attempt", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ElapsedTimeSinceLastDatabaseStatusUpdateAttempt);
                this.InterestingEventsBase = new ExPerformanceCounter(base.CategoryName, "Base Counter for Percentage of Interesting Events", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.InterestingEventsBase);
                this.EventsInterestingToMultipleAsssitants = new ExPerformanceCounter(base.CategoryName, "Events Interesting to Multiple Asssitants", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.EventsInterestingToMultipleAsssitants);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter(base.CategoryName, "Base Counter for Events Interesting to Multiple Asssitants", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.InterestingEvents = new ExPerformanceCounter(base.CategoryName, "Percentage of Interesting Events", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.InterestingEvents);
                this.MailboxDispatchers = new ExPerformanceCounter(base.CategoryName, "Mailbox Dispatchers", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.MailboxDispatchers);
                this.MailboxSessionsInUseByDispatchers = new ExPerformanceCounter(base.CategoryName, "Mailbox Sessions In Use By Dispatchers", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.MailboxSessionsInUseByDispatchers);
                this.AverageMailboxProcessingTime = new ExPerformanceCounter(base.CategoryName, "Average Mailbox Processing Time In seconds", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageMailboxProcessingTime);
                this.AverageMailboxProcessingTimeBase = new ExPerformanceCounter(base.CategoryName, "Average Mailbox Processing Time In seconds Base", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageMailboxProcessingTimeBase);
                ExPerformanceCounter exPerformanceCounter3 = new ExPerformanceCounter(base.CategoryName, "Mailboxes processed/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter3);
                this.MailboxesProcessed = new ExPerformanceCounter(base.CategoryName, "Mailboxes Processed", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter3
                });
                list.Add(this.MailboxesProcessed);
                this.NumberOfThreadsUsed = new ExPerformanceCounter(base.CategoryName, "Number of Threads Used", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NumberOfThreadsUsed);
                this.HealthMeasure = new ExPerformanceCounter(base.CategoryName, "Health Measure", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.HealthMeasure);
                long num = this.EventsInQueueCurrent.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter4 in list)
                    {
                        exPerformanceCounter4.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }
Example #17
0
        // Token: 0x0600000C RID: 12 RVA: 0x00002634 File Offset: 0x00000834
        private static void EnsurePerClientPerfCounterInstancesExist(string client, ExPerformanceCounter counter, ExPerformanceCounter associatedWindowCounter)
        {
            string key = client + "_" + counter.CounterName;

            if (!PerformanceCounters.perClientInstanceTotalCounters.ContainsKey(key))
            {
                lock (PerformanceCounters.perClientInstanceTotalCounters)
                {
                    if (!PerformanceCounters.perClientInstanceTotalCounters.ContainsKey(key))
                    {
                        lock (PerformanceCounters.perClientInstanceTotalPerWindowCounters)
                        {
                            PerformanceCounters.perClientInstanceTotalCounters.Add(key, new ExPerformanceCounter("MSExchangeAutodiscover:Datacenter", counter.CounterName, client, null, new ExPerformanceCounter[0]));
                            PerformanceCounters.perClientInstanceTotalCounters[key].RawValue = 0L;
                            if (associatedWindowCounter != null)
                            {
                                PerformanceCounters.perClientInstanceTotalPerWindowCounters.Add(key, new ExPerformanceCounter("MSExchangeAutodiscover:Datacenter", associatedWindowCounter.CounterName, client, null, new ExPerformanceCounter[0]));
                                PerformanceCounters.perClientInstanceTotalPerWindowCounters[key].RawValue = 0L;
                                PerformanceCounters.perClientInstanceTotalCountersLastWindowValue.Add(key, 0L);
                            }
                        }
                    }
                }
            }
        }
            // Token: 0x06000A2C RID: 2604 RVA: 0x000434E8 File Offset: 0x000416E8
            private static void SendTextMessage(MailboxSession session, IList <E164Number> recipients, string content, ExPerformanceCounter perfcounter)
            {
                StoreObjectId destFolderId = session.GetDefaultFolderId(DefaultFolderType.Drafts) ?? session.GetDefaultFolderId(DefaultFolderType.Outbox);

                using (MessageItem messageItem = MessageItem.Create(session, destFolderId))
                {
                    messageItem.ClassName = "IPM.Note.Mobile.SMS.Alert.Calendar";
                    messageItem.From      = new Participant(session.MailboxOwner);
                    foreach (E164Number e164Number in recipients)
                    {
                        messageItem.Recipients.Add(new Participant(null, e164Number.Number, "MOBILE"), RecipientItemType.To);
                    }
                    using (TextWriter textWriter = messageItem.Body.OpenTextWriter(BodyFormat.TextPlain))
                    {
                        textWriter.Write(content);
                    }
                    messageItem.Send();
                    perfcounter.Increment();
                    CalNotifsCounters.NumberOfNotificationsSent.Increment();
                }
            }
        internal HttpProxyCountersInstance(string instanceName) : base(instanceName, "MSExchange HttpProxy")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Requests/Sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.TotalRequests = new ExPerformanceCounter(base.CategoryName, "Total Requests", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.TotalRequests);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter(base.CategoryName, "Bytes Out/Sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.TotalBytesOut = new ExPerformanceCounter(base.CategoryName, "Total Bytes Out", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.TotalBytesOut);
                ExPerformanceCounter exPerformanceCounter3 = new ExPerformanceCounter(base.CategoryName, "Bytes In/Sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter3);
                this.TotalBytesIn = new ExPerformanceCounter(base.CategoryName, "Total Bytes In", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter3
                });
                list.Add(this.TotalBytesIn);
                ExPerformanceCounter exPerformanceCounter4 = new ExPerformanceCounter(base.CategoryName, "Proxy Requests/Sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter4);
                this.TotalProxyRequests = new ExPerformanceCounter(base.CategoryName, "Total Proxy Requests", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter4
                });
                list.Add(this.TotalProxyRequests);
                ExPerformanceCounter exPerformanceCounter5 = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Calls/Sec", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter5);
                this.MailboxServerLocatorCalls = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Calls", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter5
                });
                list.Add(this.MailboxServerLocatorCalls);
                this.MailboxServerLocatorFailedCalls = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Failed Calls", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MailboxServerLocatorFailedCalls);
                this.MailboxServerLocatorRetriedCalls = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Retried Calls", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MailboxServerLocatorRetriedCalls);
                this.MailboxServerLocatorLatency = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Last Call Latency", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MailboxServerLocatorLatency);
                this.MailboxServerLocatorAverageLatency = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Average Latency", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MailboxServerLocatorAverageLatency);
                this.MailboxServerLocatorAverageLatencyBase = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Average Latency Base", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MailboxServerLocatorAverageLatencyBase);
                this.DownLevelTotalServers = new ExPerformanceCounter(base.CategoryName, "ClientAccess 2010 Total Servers", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.DownLevelTotalServers);
                this.DownLevelHealthyServers = new ExPerformanceCounter(base.CategoryName, "ClientAccess 2010 Healthy Servers", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.DownLevelHealthyServers);
                this.DownLevelServersLastPing = new ExPerformanceCounter(base.CategoryName, "ClientAccess 2010 Servers Last Ping", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.DownLevelServersLastPing);
                this.LoadBalancerHealthChecks = new ExPerformanceCounter(base.CategoryName, "Load Balancer Health Checks", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.LoadBalancerHealthChecks);
                this.MovingAverageCasLatency = new ExPerformanceCounter(base.CategoryName, "Average ClientAccess Server Processing Latency", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingAverageCasLatency);
                this.MovingAverageTenantLookupLatency = new ExPerformanceCounter(base.CategoryName, "Average Tenant Lookup Latency", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingAverageTenantLookupLatency);
                this.MovingAverageAuthenticationLatency = new ExPerformanceCounter(base.CategoryName, "Average Authentication Latency", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingAverageAuthenticationLatency);
                this.MovingAverageMailboxServerLocatorLatency = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Average Latency (Moving Average)", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingAverageMailboxServerLocatorLatency);
                this.MovingAverageSharedCacheLatency = new ExPerformanceCounter(base.CategoryName, "Shared Cache Client Average Latency (Moving Average)", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingAverageSharedCacheLatency);
                this.MovingPercentageMailboxServerFailure = new ExPerformanceCounter(base.CategoryName, "Mailbox Server Proxy Failure Rate", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingPercentageMailboxServerFailure);
                this.MovingPercentageMailboxServerLocatorRetriedCalls = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Retried Rate", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingPercentageMailboxServerLocatorRetriedCalls);
                this.MovingPercentageMailboxServerLocatorFailedCalls = new ExPerformanceCounter(base.CategoryName, "MailboxServerLocator Failure Rate", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingPercentageMailboxServerLocatorFailedCalls);
                this.MovingPercentageNewProxyConnectionCreation = new ExPerformanceCounter(base.CategoryName, "Proxy Connection Creation Rate", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.MovingPercentageNewProxyConnectionCreation);
                this.TotalRetryOnError = new ExPerformanceCounter(base.CategoryName, "Total RetryOnError", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalRetryOnError);
                this.FailedRetryOnError = new ExPerformanceCounter(base.CategoryName, "Failed RetryOnError", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.FailedRetryOnError);
                ExPerformanceCounter exPerformanceCounter6 = new ExPerformanceCounter(base.CategoryName, "Accepted Connection Count Per Second", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter6);
                this.AcceptedConnectionCount = new ExPerformanceCounter(base.CategoryName, "Accepted Connection Count", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter6
                });
                list.Add(this.AcceptedConnectionCount);
                ExPerformanceCounter exPerformanceCounter7 = new ExPerformanceCounter(base.CategoryName, "Rejected Connection Count Per Second", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter7);
                this.RejectedConnectionCount = new ExPerformanceCounter(base.CategoryName, "Rejected Connection Count", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter7
                });
                list.Add(this.RejectedConnectionCount);
                this.OutstandingProxyRequests = new ExPerformanceCounter(base.CategoryName, "Outstanding Proxy Requests", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.OutstandingProxyRequests);
                this.OutstandingProxyRequestsToForest = new ExPerformanceCounter(base.CategoryName, "Outstanding Proxy Requests to Target Forest", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.OutstandingProxyRequestsToForest);
                this.OutstandingSharedCacheRequests = new ExPerformanceCounter(base.CategoryName, "Outstanding Shared Cache Requests", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(this.OutstandingSharedCacheRequests);
                ExPerformanceCounter exPerformanceCounter8 = new ExPerformanceCounter(base.CategoryName, "Redirect By Sender Mailbox Count Per Second", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter8);
                this.RedirectBySenderMailboxCount = new ExPerformanceCounter(base.CategoryName, "Redirect By Sender Mailbox Count", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter8
                });
                list.Add(this.RedirectBySenderMailboxCount);
                ExPerformanceCounter exPerformanceCounter9 = new ExPerformanceCounter(base.CategoryName, "Redirect By Tenant Mailbox Count Per Second", instanceName, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter9);
                this.RedirectByTenantMailboxCount = new ExPerformanceCounter(base.CategoryName, "Redirect By Tenant Mailbox Count", instanceName, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter9
                });
                list.Add(this.RedirectByTenantMailboxCount);
                long num = this.TotalRequests.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter10 in list)
                    {
                        exPerformanceCounter10.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }
Example #20
0
 private SetCounterIf CreateSetCounter(ExPerformanceCounter perfCounter)
 {
     return(new SetCounterIf((perfCounter == null) ? null : new SetCounterIf.CounterWrapper(perfCounter), CounterCompareType.Changed, (int)ResourceLoadPerfCounterWrapper.RefreshWindow.TotalMilliseconds));
 }
 // Token: 0x06001E22 RID: 7714 RVA: 0x00089F7C File Offset: 0x0008817C
 public SafeCounter(ExPerformanceCounter wrappedCounter)
 {
     this.m_perfCounter          = wrappedCounter;
     this.m_perfCounter.RawValue = 0L;
 }
 public PerfCounterGroup(ExPerformanceCounter current, ExPerformanceCounter peak, ExPerformanceCounter total) : this(current, peak)
 {
     if (total == null)
     {
         throw new ArgumentNullException("total");
     }
     this.total = total;
 }
Example #23
0
 public AverageTimePerfCounter(ExPerformanceCounter averageCount, ExPerformanceCounter averageBase) : base(averageCount, averageBase)
 {
 }
        // Token: 0x06007837 RID: 30775 RVA: 0x0018C168 File Offset: 0x0018A368
        internal MSExchangeADRecipientCacheInstance(string instanceName) : base(instanceName, "MSExchange Recipient Cache")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                this.IndividualAddressLookupsTotal = new ExPerformanceCounter(base.CategoryName, "Individual Address Lookups", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.IndividualAddressLookupsTotal);
                this.BatchedAddressLookupsTotal = new ExPerformanceCounter(base.CategoryName, "Batched Address Lookups", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.BatchedAddressLookupsTotal);
                this.ExpandGroupRequestsTotal = new ExPerformanceCounter(base.CategoryName, "Expand Group Requests", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ExpandGroupRequestsTotal);
                this.RequestsPendingTotal = new ExPerformanceCounter(base.CategoryName, "Address Lookups Pending", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.RequestsPendingTotal);
                this.AggregateHits = new ExPerformanceCounter(base.CategoryName, "Active Directory recipient cache aggregate hits", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AggregateHits);
                this.AggregateMisses = new ExPerformanceCounter(base.CategoryName, "Active Directory recipient cache aggregate misses", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AggregateMisses);
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Active Directory recipient cache aggregate misses base counter.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.AggregateHits_Base = new ExPerformanceCounter(base.CategoryName, "Active Directory recipient cache aggregate hits base counter.", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.AggregateHits_Base);
                this.AverageLookupQueryLatency = new ExPerformanceCounter(base.CategoryName, "Average Active Directory recipient cache lookup query latecy", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageLookupQueryLatency);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter(base.CategoryName, "Average Active Directory recipient cache lookup query latency base counter.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.AggregateLookupsTotal = new ExPerformanceCounter(base.CategoryName, "Active Directory recipient cache aggregate total lookups", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.AggregateLookupsTotal);
                this.RepeatedQueryForTheSameRecipient = new ExPerformanceCounter(base.CategoryName, "Total repeated queries for the same recipient", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.RepeatedQueryForTheSameRecipient);
                this.NumberOfQueriesPerRecipientCache50Percentile = new ExPerformanceCounter(base.CategoryName, "Number of queries per recipient cache, 50th percentile", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NumberOfQueriesPerRecipientCache50Percentile);
                this.NumberOfQueriesPerRecipientCache80Percentile = new ExPerformanceCounter(base.CategoryName, "Number of queries per recipient cache, 80th percentile", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NumberOfQueriesPerRecipientCache80Percentile);
                this.NumberOfQueriesPerRecipientCache95Percentile = new ExPerformanceCounter(base.CategoryName, "Number of queries per recipient cache, 95th percentile", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NumberOfQueriesPerRecipientCache95Percentile);
                this.NumberOfQueriesPerRecipientCache99Percentile = new ExPerformanceCounter(base.CategoryName, "Number of queries per recipient cache, 99th percentile", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NumberOfQueriesPerRecipientCache99Percentile);
                long num = this.IndividualAddressLookupsTotal.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter3 in list)
                    {
                        exPerformanceCounter3.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }
Example #25
0
 private static void AssertOnMissingCounterMap(ExPerformanceCounter performanceCounter, string type)
 {
     throw new ArgumentException(string.Format(type + " counter mapped instance not found : {0}({1})", performanceCounter.CounterName, performanceCounter.InstanceName));
 }
Example #26
0
 public CachePerformanceCounters(ExPerformanceCounter hitCount, ExPerformanceCounter missCount, ExPerformanceCounter cacheSize, ExPerformanceCounter cacheSizePercentage, long maxCacheSizeInBytes)
 {
     this.hitCount            = hitCount;
     this.missCount           = missCount;
     this.cacheSize           = cacheSize;
     this.cacheSizePercentage = cacheSizePercentage;
     this.maxCacheSize        = maxCacheSizeInBytes;
 }
Example #27
0
 public PerfCounterWithAverageRate(ExPerformanceCounter normalCounter, ExPerformanceCounter rateCounter, ExPerformanceCounter baseCounter, int counterUnit, TimeSpan timeUnit)
 {
     this.normalCounter   = normalCounter;
     this.rateCounter     = rateCounter;
     this.baseCounter     = baseCounter;
     this.counterUnit     = counterUnit;
     this.timeUnitSeconds = (int)timeUnit.TotalSeconds;
     this.lastTimestamp   = ExDateTime.UtcNow;
 }
        // Token: 0x0600001E RID: 30 RVA: 0x0000344C File Offset: 0x0000164C
        internal PerformanceCountersPerAssistantInstance(string instanceName) : base(instanceName, "MSExchange Assistants - Per Assistant")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                this.EventsInQueueCurrent = new ExPerformanceCounter(base.CategoryName, "Events in Queue", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.EventsInQueueCurrent);
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Events Processed/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.EventsProcessed = new ExPerformanceCounter(base.CategoryName, "Events Processed", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.EventsProcessed);
                this.AverageEventQueueTime = new ExPerformanceCounter(base.CategoryName, "Average Event Queue Time In Seconds", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageEventQueueTime);
                this.AverageEventQueueTimeBase = new ExPerformanceCounter(base.CategoryName, "Average Event Queue Time Base", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageEventQueueTimeBase);
                this.AverageEventProcessingTime = new ExPerformanceCounter(base.CategoryName, "Average Event Processing Time In Seconds", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageEventProcessingTime);
                this.AverageEventProcessingTimeBase = new ExPerformanceCounter(base.CategoryName, "Average Event Processing Time Base", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AverageEventProcessingTimeBase);
                this.InterestingEvents = new ExPerformanceCounter(base.CategoryName, "Percentage of Interesting Events", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.InterestingEvents);
                this.InterestingEventsBase = new ExPerformanceCounter(base.CategoryName, "Base counter for Percentage of Interesting Events", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.InterestingEventsBase);
                this.EventsDiscardedByMailboxFilter = new ExPerformanceCounter(base.CategoryName, "Percentage of Events Discarded by Mailbox Filter", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.EventsDiscardedByMailboxFilter);
                this.EventsDiscardedByMailboxFilterBase = new ExPerformanceCounter(base.CategoryName, "Base Counter for Percentage of Events Discarded by Mailbox Filter", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.EventsDiscardedByMailboxFilterBase);
                this.QueuedEventsDiscardedByMailboxFilter = new ExPerformanceCounter(base.CategoryName, "Percentage of Queued Events Discarded by Mailbox Filter", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.QueuedEventsDiscardedByMailboxFilter);
                this.QueuedEventsDiscardedByMailboxFilterBase = new ExPerformanceCounter(base.CategoryName, "Base Counter for Percentage of Queued Events Discarded by Mailbox Filter", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.QueuedEventsDiscardedByMailboxFilterBase);
                this.ElapsedTimeSinceLastEventQueued = new ExPerformanceCounter(base.CategoryName, "Elapsed Time Since Last Event Queued", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ElapsedTimeSinceLastEventQueued);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter(base.CategoryName, "Percentage of Failed Event Dispatchers", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.FailedDispatchers = new ExPerformanceCounter(base.CategoryName, "Failed Event Dispatchers", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.FailedDispatchers);
                ExPerformanceCounter exPerformanceCounter3 = new ExPerformanceCounter(base.CategoryName, "Base Counter for Percentage of Failed Event Dispatchers", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter3);
                this.EventDispatchers = new ExPerformanceCounter(base.CategoryName, "Event Dispatchers", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter3
                });
                list.Add(this.EventDispatchers);
                this.HandledExceptions = new ExPerformanceCounter(base.CategoryName, "Handled Exceptions", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.HandledExceptions);
                long num = this.EventsInQueueCurrent.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter4 in list)
                    {
                        exPerformanceCounter4.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }
        internal MiddleTierStoragePerformanceCountersInstance(string instanceName) : base(instanceName, "MSExchange Middle-Tier Storage")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                this.NamedPropertyCacheEntries = new ExPerformanceCounter(base.CategoryName, "Named Property cache entries.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NamedPropertyCacheEntries);
                this.NamedPropertyCacheMisses = new ExPerformanceCounter(base.CategoryName, "Named Property cache misses.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NamedPropertyCacheMisses);
                this.NamedPropertyCacheMisses_Base = new ExPerformanceCounter(base.CategoryName, "Base counter for Named Property cache misses.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NamedPropertyCacheMisses_Base);
                this.DumpsterSessionsActive = new ExPerformanceCounter(base.CategoryName, "Dumpster Active Sessions", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterSessionsActive);
                this.DumpsterDelegateSessionsActive = new ExPerformanceCounter(base.CategoryName, "Dumpster Active Delegate Sessions", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterDelegateSessionsActive);
                this.DumpsterADSettingCacheSize = new ExPerformanceCounter(base.CategoryName, "Dumpster Active Directory Settings Cache Entries", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterADSettingCacheSize);
                this.DumpsterADSettingRefreshRate = new ExPerformanceCounter(base.CategoryName, "Dumpster Active Directory Settings Refresh/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterADSettingRefreshRate);
                this.DumpsterMoveItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Moved to Dumpster/sec.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterMoveItemsRate);
                this.DumpsterCopyItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Copied to Dumpster/sec.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterCopyItemsRate);
                this.DumpsterCalendarLogsRate = new ExPerformanceCounter(base.CategoryName, "Dumpster Calendar Log Entries/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterCalendarLogsRate);
                this.DumpsterDeletionsItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Dumpster Deletions/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterDeletionsItemsRate);
                this.DumpsterPurgesItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Dumpster Purges/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterPurgesItemsRate);
                this.DumpsterVersionsItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Dumpster Versions/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterVersionsItemsRate);
                this.DumpsterFolderEnumRate = new ExPerformanceCounter(base.CategoryName, "Folder Enumerations for Dumpster/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterFolderEnumRate);
                this.DumpsterForceCopyItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Forced Copied into Dumpster/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterForceCopyItemsRate);
                this.DumpsterMoveNoKeepItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Moved in Dumpster not Kept/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterMoveNoKeepItemsRate);
                this.DumpsterCopyNoKeepItemsRate = new ExPerformanceCounter(base.CategoryName, "Items Copy in Dumpster not Kept/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterCopyNoKeepItemsRate);
                this.AuditFolderBindRate = new ExPerformanceCounter(base.CategoryName, "Audit records for folder bind/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AuditFolderBindRate);
                this.AuditGroupChangeRate = new ExPerformanceCounter(base.CategoryName, "Audit records for group change/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AuditGroupChangeRate);
                this.AuditItemChangeRate = new ExPerformanceCounter(base.CategoryName, "Audit records for item change/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.AuditItemChangeRate);
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Audits saved/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter(base.CategoryName, "Average time for saving audits", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.TotalAuditSaveTime = new ExPerformanceCounter(base.CategoryName, "Total time for saving audits", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.TotalAuditSaveTime);
                ExPerformanceCounter exPerformanceCounter3 = new ExPerformanceCounter(base.CategoryName, "Base of average time for saving audits", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter3);
                this.TotalAuditSave = new ExPerformanceCounter(base.CategoryName, "Total audits saved", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter,
                    exPerformanceCounter3
                });
                list.Add(this.TotalAuditSave);
                this.DiscoveryCopyItemsRate = new ExPerformanceCounter(base.CategoryName, "Items copied to discovery mailbox/sec.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DiscoveryCopyItemsRate);
                this.DiscoveryMailboxSearchesQueued = new ExPerformanceCounter(base.CategoryName, "Number of mailbox searches that are queued", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DiscoveryMailboxSearchesQueued);
                this.DiscoveryMailboxSearchesActive = new ExPerformanceCounter(base.CategoryName, "Number of mailbox searches that are active", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DiscoveryMailboxSearchesActive);
                this.DiscoveryMailboxSearchSourceMailboxesActive = new ExPerformanceCounter(base.CategoryName, "Number of mailboxes being searched", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DiscoveryMailboxSearchSourceMailboxesActive);
                this.DumpsterVersionRollback = new ExPerformanceCounter(base.CategoryName, "Dumpster versions reverted on failure.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterVersionRollback);
                this.DumpsterADSettingCacheMisses = new ExPerformanceCounter(base.CategoryName, "Dumpster Active Directory Settings cache misses.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterADSettingCacheMisses);
                this.DumpsterADSettingCacheMisses_Base = new ExPerformanceCounter(base.CategoryName, "Base counter for Dumpster Active Directory Settings cache misses.", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DumpsterADSettingCacheMisses_Base);
                this.ActivityLogsActivityCount = new ExPerformanceCounter(base.CategoryName, "Activity Logger Activity Count", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ActivityLogsActivityCount);
                this.ActivityLogsSelectedForStore = new ExPerformanceCounter(base.CategoryName, "Activity Logger Selected Activities For Store", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ActivityLogsSelectedForStore);
                this.ActivityLogsStoreWriteExceptions = new ExPerformanceCounter(base.CategoryName, "Activity Logger Exception Count on Store Submit", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ActivityLogsStoreWriteExceptions);
                this.ActivityLogsFileWriteExceptions = new ExPerformanceCounter(base.CategoryName, "Activity Logger Exception Count on File Log", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ActivityLogsFileWriteExceptions);
                this.ActivityLogsFileWriteCount = new ExPerformanceCounter(base.CategoryName, "Activity Logger Activity Count written to File Log", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.ActivityLogsFileWriteCount);
                long num = this.NamedPropertyCacheEntries.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter4 in list)
                    {
                        exPerformanceCounter4.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }