示例#1
0
        public ScannerFactory(HareDuConfig config, IKnowledgeBaseProvider kb)
        {
            _config       = config.IsNotNull() ? config : throw new HareDuDiagnosticsException($"{nameof(config)} argument missing.");
            _kb           = kb.IsNotNull() ? kb : throw new HareDuDiagnosticsException($"{nameof(kb)} argument missing.");
            _scannerCache = new ConcurrentDictionary <string, object>();
            _probeCache   = new ConcurrentDictionary <string, DiagnosticProbe>();
            _observers    = new List <IDisposable>();

            if (!TryRegisterAllProbes())
            {
                throw new HareDuDiagnosticsException("Could not register diagnostic probes.");
            }

            if (!TryRegisterAllScanners())
            {
                throw new HareDuDiagnosticsException("Could not register diagnostic scanners.");
            }
        }
示例#2
0
 public ConsumerUtilizationProbe(DiagnosticsConfig config, IKnowledgeBaseProvider kb)
     : base(kb)
 {
     _config = config;
 }
示例#3
0
 public DiskAlarmProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#4
0
 public FakeProbe(IKnowledgeBaseProvider kb) : base(kb)
 {
 }
示例#5
0
 public ChannelLimitReachedProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#6
0
 public QueueGrowthProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
 public FileDescriptorThrottlingProbe(DiagnosticsConfig config, IKnowledgeBaseProvider kb)
     : base(kb)
 {
     _config = config;
 }
示例#8
0
 public AvailableCpuCoresProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#9
0
 public MessagePagingProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#10
0
 public UnroutableMessageProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#11
0
 public RuntimeProcessLimitProbe(DiagnosticsConfig config, IKnowledgeBaseProvider kb)
     : base(kb)
 {
     _config = config;
 }
示例#12
0
 public BlockedConnectionProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#13
0
 public MemoryAlarmProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#14
0
 public ChannelThrottlingProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#15
0
 public QueueLowFlowProbe(DiagnosticsConfig config, IKnowledgeBaseProvider kb)
     : base(kb)
 {
     _config = config;
 }
示例#16
0
 protected BaseDiagnosticProbe(IKnowledgeBaseProvider kb)
 {
     _kb = kb;
     _resultObservers = new List <IObserver <ProbeContext> >();
 }
 public UnlimitedPrefetchCountProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#18
0
 public NetworkPartitionProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
 public HighConnectionCreationRateProbe(DiagnosticsConfig config, IKnowledgeBaseProvider kb)
     : base(kb)
 {
     _config = config;
 }
示例#20
0
 public QueueNoFlowProbe(IKnowledgeBaseProvider kb)
     : base(kb)
 {
 }
示例#21
0
 public RedeliveredMessagesProbe(DiagnosticsConfig config, IKnowledgeBaseProvider kb)
     : base(kb)
 {
     _config = config;
 }