public QueueStatsCollector CreateQueueStatsCollector(string name, string groupName = null) { var statsCollector = new QueueStatsCollector(name, groupName); #if DEBUG _queueStatsCollectors.AddOrUpdate(statsCollector, (statsCollector) => true, (statsCollector, curValue) => throw new Exception("This should never happen")); #endif return(statsCollector); }
public QueuedHandlerPulse(IHandle <Message> consumer, string name, bool watchSlowMsg = true, TimeSpan?slowMsgThreshold = null, TimeSpan?threadStopWaitTimeout = null, string groupName = null) { Ensure.NotNull(consumer, "consumer"); Ensure.NotNull(name, "name"); _consumer = consumer; _watchSlowMsg = watchSlowMsg; _slowMsgThreshold = slowMsgThreshold ?? InMemoryBus.DefaultSlowMessageThreshold; _threadStopWaitTimeout = threadStopWaitTimeout ?? QueuedHandler.DefaultStopWaitTimeout; _queueMonitor = QueueMonitor.Default; _queueStats = new QueueStatsCollector(name, groupName); }