Exemplo n.º 1
0
        private void DoAlarm(Object state)
        {
            while (_bag.TryTake(out var appId))
            {
                //Process(appId);
            }

            // 应用告警
            var list = AppTracer.FindAllWithCache();

            foreach (var item in list)
            {
                ProcessAppTracer(item);
            }

            // 节点告警
            var nodes = Node.FindAllWithCache();

            foreach (var item in nodes)
            {
                ProcessNode(item);
            }

            // Redis告警
            var rnodes = RedisNode.FindAllWithCache();

            foreach (var item in rnodes)
            {
                ProcessRedisNode(item);
            }

            if (Period > 0)
            {
                _timer.Period = Period * 1000;
            }
        }