protected override IEnumerable<ISystemChecker> SystemStateCheckers()
        {
            intrusiveChecker = CreateChecker(HealthState.Critical, isIntrusive: true, name: "Intrusive Checker");

            yield return CreateChecker(HealthState.Good);
            yield return intrusiveChecker;
        }
예제 #2
0
        protected override IEnumerable <ISystemChecker> SystemStateCheckers()
        {
            intrusiveChecker = CreateChecker(HealthState.Critical, isIntrusive: true, name: "Intrusive Checker");

            yield return(CreateChecker(HealthState.Good));

            yield return(intrusiveChecker);
        }
예제 #3
0
        protected override IEnumerable <ISystemChecker> CreateCheckers()
        {
            intrusiveSystemChecker = Substitute.For <ISystemChecker>();
            intrusiveSystemChecker.CheckSystem().Returns(new SystemCheckResult());
            intrusiveSystemChecker.IsIntrusive.Returns(true);

            yield return(intrusiveSystemChecker);
        }
예제 #4
0
 public static SystemCheckResult CreateResult(this ISystemChecker systemChecker, HealthState state, string message)
 {
     return(new SystemCheckResult
     {
         Health = state,
         IsVital = systemChecker.IsVital,
         SystemName = systemChecker.SystemName,
         Message = message
     });
 }
예제 #5
0
 private static SystemCheckResult GetSystemCheckResult(bool performeIntrusive, ISystemChecker systemChecker)
 {
     if (!performeIntrusive && systemChecker.IsIntrusive)
     {
         return systemChecker.CreateSkippedResult();
     }
     try
     {
         return systemChecker.CheckSystem() ?? systemChecker.CreateResult(HealthState.Undetermined, "Null result returned");
     }
     catch (Exception ex)
     {
         return systemChecker.CreateCriticalResult(ex.Message);
     }
 }
예제 #6
0
        private Task <SystemCheckResult> CheckSystemState(bool performeIntrusive, ISystemChecker systemChecker)
        {
            return(Task <SystemCheckResult> .Factory.StartNew(() =>
            {
                var stopwatch = new Stopwatch();
                stopwatch.Start();

                var getResultsTask = Task <SystemCheckResult> .Factory.StartNew(() => GetSystemCheckResult(performeIntrusive, systemChecker));

                var result = getResultsTask.Wait(healthNetConfiguration.DefaultSystemCheckTimeout)
                    ? getResultsTask.Result
                    : systemChecker.CreateTimeoutResult();

                stopwatch.Stop();

                result.TimeTaken = stopwatch.Elapsed;

                return result;
            }));
        }
예제 #7
0
        private Task<SystemCheckResult> CheckSystemState(bool performeIntrusive, ISystemChecker systemChecker)
        {
            return Task<SystemCheckResult>.Factory.StartNew(() =>
            {
                var stopwatch = new Stopwatch();
                stopwatch.Start();

                var getResultsTask = Task<SystemCheckResult>.Factory.StartNew(() => GetSystemCheckResult(performeIntrusive, systemChecker));

                var result = getResultsTask.Wait(healthNetConfiguration.DefaultSystemCheckTimeout)
                    ? getResultsTask.Result
                    : systemChecker.CreateTimeoutResult();

                stopwatch.Stop();

                result.TimeTaken = stopwatch.Elapsed;

                return result;
            });
        }
예제 #8
0
 private static SystemCheckResult GetSystemCheckResult(bool performeIntrusive, ISystemChecker systemChecker)
 {
     if (!performeIntrusive && systemChecker.IsIntrusive)
     {
         return(systemChecker.CreateSkippedResult());
     }
     try
     {
         return(systemChecker.CheckSystem() ?? systemChecker.CreateResult(HealthState.Undetermined, "Null result returned"));
     }
     catch (Exception ex)
     {
         return(systemChecker.CreateCriticalResult(ex.Message));
     }
 }
예제 #9
0
 public static SystemCheckResult CreateCriticalResult(this ISystemChecker systemChecker, string message)
 {
     return(systemChecker.CreateResult(HealthState.Critical, message));
 }
예제 #10
0
 public static SystemCheckResult CreateGoodResult(this ISystemChecker systemChecker)
 {
     return(systemChecker.CreateResult(HealthState.Good, null));
 }
예제 #11
0
 public static SystemCheckResult CreateTimeoutResult(this ISystemChecker systemChecker)
 {
     return(systemChecker.CreateResult(HealthState.Serious, "System check timed out"));
 }
예제 #12
0
 public static SystemCheckResult CreateSkippedResult(this ISystemChecker systemChecker)
 {
     return(systemChecker.CreateResult(HealthState.Undetermined, "Intrusive check skipped"));
 }