public SiloStatusListenerManager(
     MembershipTableManager membershipTableManager,
     ILogger <SiloStatusListenerManager> log,
     IFatalErrorHandler fatalErrorHandler)
 {
     this.membershipTableManager = membershipTableManager;
     this.log = log;
     this.fatalErrorHandler = fatalErrorHandler;
 }
Example #2
0
 public SiloStatusOracle(
     ILocalSiloDetails localSiloDetails,
     MembershipTableManager membershipTableManager,
     ILoggerFactory loggerFactory,
     SiloStatusListenerManager listenerManager)
 {
     this.localSiloDetails       = localSiloDetails;
     this.membershipTableManager = membershipTableManager;
     this.listenerManager        = listenerManager;
     this.log = loggerFactory.CreateLogger("MembershipOracle");
 }
Example #3
0
 public SiloStatusOracle(
     ILocalSiloDetails localSiloDetails,
     MembershipTableManager membershipTableManager,
     ILogger <SiloStatusOracle> logger,
     SiloStatusListenerManager listenerManager)
 {
     this.localSiloDetails       = localSiloDetails;
     this.membershipTableManager = membershipTableManager;
     this.listenerManager        = listenerManager;
     this.log = logger;
 }
Example #4
0
 public MembershipSystemTarget(
     MembershipTableManager membershipTableManager,
     ILocalSiloDetails localSiloDetails,
     ILoggerFactory loggerFactory,
     ILogger <MembershipSystemTarget> log,
     IInternalGrainFactory grainFactory)
     : base(Constants.MembershipServiceType, localSiloDetails.SiloAddress, loggerFactory)
 {
     this.membershipTableManager = membershipTableManager;
     this.log          = log;
     this.grainFactory = grainFactory;
 }
 public ClusterHealthMonitor(
     MembershipTableManager tableManager,
     ILogger <ClusterHealthMonitor> log,
     IOptions <ClusterMembershipOptions> clusterMembershipOptions,
     IFatalErrorHandler fatalErrorHandler,
     IServiceProvider serviceProvider,
     IAsyncTimerFactory timerFactory)
 {
     this.tableManager              = tableManager;
     this.log                       = log;
     this.fatalErrorHandler         = fatalErrorHandler;
     this.clusterMembershipOptions  = clusterMembershipOptions.Value;
     this.monitorClusterHealthTimer = timerFactory.Create(
         this.clusterMembershipOptions.ProbeTimeout,
         nameof(MonitorClusterHealth));
     this.createMonitor = silo => ActivatorUtilities.CreateInstance <SiloHealthMonitor>(serviceProvider, silo);
 }
Example #6
0
        public ClusterHealthMonitor(
            ILocalSiloDetails localSiloDetails,
            MembershipTableManager membershipService,
            ILogger <ClusterHealthMonitor> log,
            IOptionsMonitor <ClusterMembershipOptions> clusterMembershipOptions,
            IFatalErrorHandler fatalErrorHandler,
            IServiceProvider serviceProvider)
        {
            this.localSiloDetails  = localSiloDetails;
            this.serviceProvider   = serviceProvider;
            this.membershipService = membershipService;
            this.log = log;
            this.fatalErrorHandler        = fatalErrorHandler;
            this.clusterMembershipOptions = clusterMembershipOptions;
            this.onProbeResult            = this.OnProbeResultInternal;
            Func <SiloHealthMonitor, ProbeResult, Task> onProbeResultFunc = (siloHealthMonitor, probeResult) => this.onProbeResult(siloHealthMonitor, probeResult);

            this.createMonitor = silo => ActivatorUtilities.CreateInstance <SiloHealthMonitor>(serviceProvider, silo, onProbeResultFunc);
        }
 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));
 }
Example #8
0
 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>());
 }