Beispiel #1
0
        internal MSExchangeTransportApprovalInstance(string instanceName, MSExchangeTransportApprovalInstance autoUpdateTotalInstance) : base(instanceName, "MSExchange Approval Framework")
        {
            bool flag = false;
            List <ExPerformanceCounter> list = new List <ExPerformanceCounter>();

            try
            {
                ExPerformanceCounter exPerformanceCounter = new ExPerformanceCounter(base.CategoryName, "Number of Initiation Messages/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter);
                this.InitiationMessages = new ExPerformanceCounter(base.CategoryName, "Number of Initiation Messages", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter
                });
                list.Add(this.InitiationMessages);
                ExPerformanceCounter exPerformanceCounter2 = new ExPerformanceCounter(base.CategoryName, "Number of Decision Messages/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter2);
                this.DecisionMessages = new ExPerformanceCounter(base.CategoryName, "Number of Decision Messages", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter2
                });
                list.Add(this.DecisionMessages);
                ExPerformanceCounter exPerformanceCounter3 = new ExPerformanceCounter(base.CategoryName, "Decision Messages Processed/sec", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(exPerformanceCounter3);
                this.DecisionUsed = new ExPerformanceCounter(base.CategoryName, "Decision Messages Processed", instanceName, true, null, new ExPerformanceCounter[]
                {
                    exPerformanceCounter3
                });
                list.Add(this.DecisionUsed);
                this.DecisionInitiationMessageSearchTimeMilliseconds = new ExPerformanceCounter(base.CategoryName, "Total Time to Find Initiation Message in Milliseconds", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.DecisionInitiationMessageSearchTimeMilliseconds);
                this.NdrOofInitiationMessageSearchTimeMilliseconds = new ExPerformanceCounter(base.CategoryName, "Total time to find initiation message to corelate NDRs or OOFs in milliseconds", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.NdrOofInitiationMessageSearchTimeMilliseconds);
                this.TotalSearchesForInitiationBasedOnNdrAndOof = new ExPerformanceCounter(base.CategoryName, "Number of searches based on NDR and OOF", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalSearchesForInitiationBasedOnNdrAndOof);
                this.TotalNdrOofHandled = new ExPerformanceCounter(base.CategoryName, "Number of NDRs and OOFs processed", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalNdrOofHandled);
                this.TotalNdrOofUpdated = new ExPerformanceCounter(base.CategoryName, "Number of NDR and OOF that result in updates", instanceName, true, null, new ExPerformanceCounter[0]);
                list.Add(this.TotalNdrOofUpdated);
                long num = this.InitiationMessages.RawValue;
                num += 1L;
                flag = true;
            }
            finally
            {
                if (!flag)
                {
                    foreach (ExPerformanceCounter exPerformanceCounter4 in list)
                    {
                        exPerformanceCounter4.Close();
                    }
                }
            }
            this.counters = list.ToArray();
        }
Beispiel #2
0
 public ApprovalProcessingAgent(SmtpServer server, MSExchangeTransportApprovalInstance perfCounter)
 {
     this.server = (server as StoreDriverServer);
     if (this.server == null)
     {
         throw new ArgumentException("The instance of the SmtpServer is not of the expected type.", "server");
     }
     this.perfCounter         = perfCounter;
     base.OnCreatedMessage   += this.OnCreatedMessageHandler;
     base.OnDeliveredMessage += this.OnDeliveredMessageHandler;
 }