예제 #1
0
        public async Task GetClusterInfo_TryGetClusterInfo_SuccefullyGetClusterInfo()
        {
            _clusterManager.Setup(x => x.ClusterInfoAsync()).ReturnsAsync(_clusterInfoResult.Object);
            _clusterInfoResult.SetupGet(x => x.Success).Returns(true);
            _clusterInfoResult.SetupGet(x => x.Value).Returns(_clusterInfo.Object);

            IClusterInfo info = await _target.GetClusterInfoAsync();

            Assert.AreEqual(_clusterInfo.Object, info);
            _clusterManager.Verify(x => x.ClusterInfoAsync(), Times.Once);
        }
예제 #2
0
 public Session(IClusterInfo clusterInfo, ISessionInfo sessionInfo)
 {
     ClusterInfo   = clusterInfo;
     InfoBaseShort = sessionInfo.infoBase;
     SessionInfo   = sessionInfo;
     AppID         = sessionInfo.AppID;
     SessionID     = sessionInfo.SessionID;
     UserName      = sessionInfo.userName;
     Process       = sessionInfo.process;
     Connection    = sessionInfo.connection;
     DbProcInfo    = sessionInfo.dbProcInfo;
     DbProcTook    = ((float)sessionInfo.dbProcTook / 1000);
     StartedAt     = sessionInfo.StartedAt;
     ConnID        = Connection == null ? 0 : Connection.ConnID;
 }
예제 #3
0
        protected override Task <HealthCheckResult> GetHealthCheckResult(IClusterInfo cluster)
        {
            var health = HealthCheckResult.Create(Id);
            var ram    = cluster.Pools().StorageTotals.Ram;
            var used   = (int)Math.Round((double)ram.QuotaUsed / ram.QuotaTotal * 100, 0);

            if (used > 85)
            {
                health.SetStatus(Status.Warning).SetLevel(LogLevel.Warn).SetReason($"Available quota memory is less than 15%.");
            }
            else
            {
                health.SetStatus(Status.Okay);
            }

            return(Task.FromResult(health));
        }
예제 #4
0
 protected abstract Task <HealthCheckResult> GetHealthCheckResult(IClusterInfo cluster);