protected override Task <HealthCheckResult> CheckAsync(CancellationToken token = default(CancellationToken))
        {
            if (!_options.ApdexTrackingEnabled)
            {
                return(Task.FromResult(HealthCheckResult.Ignore()));
            }

            var apdex = _metrics.Value.Snapshot.GetApdexValue(_context, _metricName);

            if (apdex.Score < 0.5)
            {
                return(Task.FromResult(HealthCheckResult.Unhealthy($"Frustrating. Score: {apdex.Score}")));
            }

            if (apdex.Score >= 0.5 && apdex.Score < 0.75)
            {
                return(Task.FromResult(HealthCheckResult.Degraded($"Tolerating. Score: {apdex.Score}")));
            }

            return(Task.FromResult(HealthCheckResult.Healthy($"Satisfied. Score {apdex.Score}")));
        }
示例#2
0
        protected override Task <HealthCheckResult> CheckAsync(CancellationToken token = default(CancellationToken))
        {
            if (!_options.ApdexTrackingEnabled)
            {
                return(Task.FromResult(HealthCheckResult.Ignore()));
            }

            var metricsContext = _metrics.Value.Advanced.Data.ReadContext(AspNetMetricsRegistry.Contexts.HttpRequests.ContextName);

            var apdex = metricsContext.ApdexValueFor(AspNetMetricsRegistry.Contexts.HttpRequests.ApdexScores.ApdexMetricName);

            if (apdex.Score < 0.5)
            {
                return(Task.FromResult(HealthCheckResult.Unhealthy($"Frustrating. Score: {apdex.Score}")));
            }

            if (apdex.Score >= 0.5 && apdex.Score < 0.75)
            {
                return(Task.FromResult(HealthCheckResult.Degraded($"Tolerating. Score: {apdex.Score}")));
            }

            return(Task.FromResult(HealthCheckResult.Healthy($"Satisfied. Score {apdex.Score}")));
        }