Пример #1
0
        public ClusterMetricsCollector()
        {
            _cluster   = Cluster.Get(Context.System);
            _collector = new MetricsCollectorBuilder().Build(Context.System);

            var metrics = ClusterMetrics.Get(Context.System);

            // Start periodic gossip to random nodes in cluster
            var gossipInitialDelay = metrics.Settings.PeriodicTasksInitialDelay.Max(metrics.Settings.CollectorGossipInterval);

            _gossipTask = Context.System.Scheduler.ScheduleTellRepeatedlyCancelable(
                gossipInitialDelay, metrics.Settings.CollectorGossipInterval, Self, GossipTick.Instance, Self);

            // Start periodic metrics collection
            var sampleInitialDelay = metrics.Settings.PeriodicTasksInitialDelay.Max(metrics.Settings.CollectorSampleInterval);

            _sampleTask = Context.System.Scheduler.ScheduleTellRepeatedlyCancelable(
                sampleInitialDelay, metrics.Settings.CollectorSampleInterval, Self, MetricsTick.Instance, Self);
        }
 public ClusterMetricsSupervisor()
 {
     _metrics = ClusterMetrics.Get(Context.System);
     _log     = Context.GetLogger();
 }