public MembershipAgent( MembershipTableManager tableManager, ClusterHealthMonitor clusterHealthMonitor, ILocalSiloDetails localSilo, IFatalErrorHandler fatalErrorHandler, IOptions <ClusterMembershipOptions> options, ILogger <MembershipAgent> log, IAsyncTimerFactory timerFactory) { this.tableManager = tableManager; this.clusterHealthMonitor = clusterHealthMonitor; this.localSilo = localSilo; this.fatalErrorHandler = fatalErrorHandler; this.clusterMembershipOptions = options.Value; this.log = log; this.iAmAliveTimer = timerFactory.Create( this.clusterMembershipOptions.IAmAliveTablePublishTimeout, nameof(UpdateIAmAlive)); }
public LocalSiloHealthMonitor( IEnumerable <IHealthCheckParticipant> healthCheckParticipants, MembershipTableManager membershipTableManager, ConnectionManager connectionManager, ClusterHealthMonitor clusterHealthMonitor, ILocalSiloDetails localSiloDetails, ILogger <LocalSiloHealthMonitor> log, IOptions <ClusterMembershipOptions> clusterMembershipOptions, IAsyncTimerFactory timerFactory, ILoggerFactory loggerFactory, ProbeRequestMonitor probeRequestMonitor) { _healthCheckParticipants = healthCheckParticipants.ToList(); _membershipTableManager = membershipTableManager; _clusterHealthMonitor = clusterHealthMonitor; _localSiloDetails = localSiloDetails; _log = log; _probeRequestMonitor = probeRequestMonitor; _clusterMembershipOptions = clusterMembershipOptions.Value; _degradationCheckTimer = timerFactory.Create( _clusterMembershipOptions.LocalHealthDegradationMonitoringPeriod, nameof(LocalSiloHealthMonitor)); _threadPoolMonitor = new ThreadPoolMonitor(loggerFactory.CreateLogger <ThreadPoolMonitor>()); }