public SiloProviderRuntime( SiloInitializationParameters siloDetails, GlobalConfiguration config, IGrainFactory grainFactory, IConsistentRingProvider consistentRingProvider, ISiloRuntimeClient runtimeClient, IServiceProvider serviceProvider, ImplicitStreamSubscriberTable implicitStreamSubscriberTable, ISiloStatusOracle siloStatusOracle, OrleansTaskScheduler scheduler, ActivationDirectory activationDirectory) { this.siloDetails = siloDetails; this.siloStatusOracle = siloStatusOracle; this.scheduler = scheduler; this.activationDirectory = activationDirectory; this.consistentRingProvider = consistentRingProvider; this.runtimeClient = runtimeClient; this.ServiceId = config.ServiceId; this.SiloIdentity = siloDetails.SiloAddress.ToLongString(); this.GrainFactory = grainFactory; this.ServiceProvider = serviceProvider; this.grainBasedPubSub = new GrainBasedPubSubRuntime(this.GrainFactory); var tmp = new ImplicitStreamPubSub(implicitStreamSubscriberTable); this.implictPubSub = tmp; this.combinedGrainBasedAndImplicitPubSub = new StreamPubSubImpl(this.grainBasedPubSub, tmp); }
public MessageCenter(SiloInitializationParameters silo, NodeConfiguration nodeConfig, IMessagingConfiguration config, ISiloPerformanceMetrics metrics = null) { this.Initialize(silo.SiloAddress.Endpoint, nodeConfig.Generation, config, metrics); if (nodeConfig.IsGatewayNode) { this.InstallGateway(nodeConfig.ProxyGatewayEndpoint); } }
public MessageCenter(SiloInitializationParameters silo, NodeConfiguration nodeConfig, IMessagingConfiguration config, ISiloPerformanceMetrics metrics = null) { this.Initialize(silo.SiloAddress.Endpoint, nodeConfig.Generation, config, metrics); if (nodeConfig.IsGatewayNode) { this.InstallGateway(nodeConfig.ProxyGatewayEndpoint); } }
public MessageCenter( SiloInitializationParameters silo, NodeConfiguration nodeConfig, IMessagingConfiguration config, SerializationManager serializationManager, ISiloPerformanceMetrics metrics, MessageFactory messageFactory) { this.serializationManager = serializationManager; this.messageFactory = messageFactory; this.Initialize(silo.SiloAddress.Endpoint, nodeConfig.Generation, config, metrics); if (nodeConfig.IsGatewayNode) { this.InstallGateway(nodeConfig.ProxyGatewayEndpoint); } }
public SiloStatisticsManager(SiloInitializationParameters initializationParams) { MessagingStatisticsGroup.Init(true); MessagingProcessingStatisticsGroup.Init(); NetworkingStatisticsGroup.Init(true); ApplicationRequestsStatisticsGroup.Init(initializationParams.GlobalConfig.ResponseTimeout); SchedulerStatisticsGroup.Init(); StorageStatisticsGroup.Init(); runtimeStats = new RuntimeStatisticsGroup(); this.logStatistics = new LogStatistics(initializationParams.NodeConfig.StatisticsLogWriteInterval, true); this.MetricsTable = new SiloPerformanceMetrics(this.runtimeStats, initializationParams.NodeConfig); this.countersPublisher = new CountersStatistics(initializationParams.NodeConfig.StatisticsPerfCountersWriteInterval); initializationParams.ClusterConfig.OnConfigChange( "Defaults/LoadShedding", () => this.MetricsTable.NodeConfig = initializationParams.NodeConfig, false); }
public MultiClusterOracle(SiloInitializationParameters siloDetails, MultiClusterGossipChannelFactory channelFactory, ISiloStatusOracle siloStatusOracle, IInternalGrainFactory grainFactory) : base(Constants.MultiClusterOracleId, siloDetails.SiloAddress) { this.channelFactory = channelFactory; this.siloStatusOracle = siloStatusOracle; this.grainFactory = grainFactory; if (siloDetails == null) throw new ArgumentNullException(nameof(siloDetails)); var config = siloDetails.GlobalConfig; logger = LogManager.GetLogger("MultiClusterOracle"); localData = new MultiClusterOracleData(logger, grainFactory); clusterId = config.ClusterId; defaultMultiCluster = config.DefaultMultiCluster; random = new SafeRandom(); // to avoid convoying, each silo varies these period intervals a little backgroundGossipInterval = RandomizeTimespanSlightly(config.BackgroundGossipInterval); resendActiveStatusAfter = RandomizeTimespanSlightly(ResendActiveStatusAfter); }
public SiloStatisticsManager(SiloInitializationParameters initializationParams, SerializationManager serializationManager, ITelemetryProducer telemetryProducer, ILoggerFactory loggerFactory) { MessagingStatisticsGroup.Init(true); MessagingProcessingStatisticsGroup.Init(); NetworkingStatisticsGroup.Init(true); ApplicationRequestsStatisticsGroup.Init(initializationParams.ClusterConfig.Globals.ResponseTimeout); SchedulerStatisticsGroup.Init(loggerFactory); StorageStatisticsGroup.Init(); TransactionsStatisticsGroup.Init(); this.logger = new LoggerWrapper <SiloStatisticsManager>(loggerFactory); runtimeStats = new RuntimeStatisticsGroup(loggerFactory); this.logStatistics = new LogStatistics(initializationParams.NodeConfig.StatisticsLogWriteInterval, true, serializationManager, loggerFactory); this.MetricsTable = new SiloPerformanceMetrics(this.runtimeStats, loggerFactory, initializationParams.NodeConfig); this.countersPublisher = new CountersStatistics(initializationParams.NodeConfig.StatisticsPerfCountersWriteInterval, telemetryProducer, loggerFactory); initializationParams.ClusterConfig.OnConfigChange( "Defaults/LoadShedding", () => this.MetricsTable.NodeConfig = initializationParams.NodeConfig, false); }