public void UpdateMdbThreadCounters() { foreach (KeyValuePair <Guid, MailboxDatabaseConnectionManager> keyValuePair in this.databases) { StoreDriverDatabasePerfCounters.AddDeliveryThreadSample(keyValuePair.Key.ToString(), (long)keyValuePair.Value.GetThreadCount()); } }
public void UpdateMdbThreadCounters() { foreach (KeyValuePair <string, int> keyValuePair in base.ThreadMap) { StoreDriverDatabasePerfCounters.AddDeliveryThreadSample(keyValuePair.Key, (long)keyValuePair.Value); } }
public static void RefreshPerformanceCounters() { foreach (string mdbGuid in StoreDriverDatabasePerfCounters.PerfCountersDictionary.Keys) { StoreDriverDatabasePerfCounters.IncrementDeliveryAttempt(mdbGuid, true); StoreDriverDatabasePerfCounters.IncrementDeliveryFailure(mdbGuid, true); } }
public static void AddDeliveryThreadSample(string mdbGuid, long sample) { StoreDriverDatabasePerfCounters.InstanceEntry instanceEntry = StoreDriverDatabasePerfCounters.GetInstanceEntry(mdbGuid); if (instanceEntry != null) { instanceEntry.DeliveryThreadsCounter.AddValue(sample); lock (MSExchangeStoreDriverDatabase.TotalInstance.CurrentDeliveryThreadsPerMdb) { instanceEntry.PerfCounterInstance.CurrentDeliveryThreadsPerMdb.RawValue = instanceEntry.DeliveryThreadsCounter.CalculateAverage(); } } }
public static void IncrementDeliveryAttempt(string mdbGuid, bool calculateOnly = false) { StoreDriverDatabasePerfCounters.InstanceEntry instanceEntry = StoreDriverDatabasePerfCounters.GetInstanceEntry(mdbGuid); if (instanceEntry != null) { if (!calculateOnly) { instanceEntry.DeliveryAttemptsCounter.AddValue(1L); } lock (MSExchangeStoreDriverDatabase.TotalInstance.DeliveryAttempts) { instanceEntry.PerfCounterInstance.DeliveryAttempts.RawValue = instanceEntry.DeliveryAttemptsCounter.CalculateAverage(); } } }
private static void RefreshPerformanceCounters(object state) { StoreDriverDeliveryPerfCounters.RefreshPerformanceCounters(); StoreDriverDatabasePerfCounters.RefreshPerformanceCounters(); }