public Task WriteAsync( Stream output, HealthStatus healthStatus, CancellationToken cancellationToken = default) { if (output == null) { throw new ArgumentNullException(nameof(output)); } var serilizer = JsonSerializer.Create(_serializerSettings); using (var streamWriter = new StreamWriter(output)) { using (var textWriter = new JsonTextWriter(streamWriter)) { serilizer.Serialize(textWriter, healthStatus); } } #if NETSTANDARD1_6 return(Task.CompletedTask); #else return(AppMetricsHealthTaskHelper.CompletedTask()); #endif }
public Task WriteAsync( Stream output, HealthStatus healthStatus, CancellationToken cancellationToken = default) { if (output == null) { throw new ArgumentNullException(nameof(output)); } var serializer = new HealthStatusSerializer(); using (var stringWriter = new StreamWriter(output, _options.Encoding)) { using (var textWriter = new HealthStatusTextWriter(stringWriter, _options.Separator, _options.Padding)) { serializer.Serialize(textWriter, healthStatus); } } #if !NETSTANDARD1_6 return(AppMetricsHealthTaskHelper.CompletedTask()); #else return(Task.CompletedTask); #endif }
public Task FormatAsync(Stream output, HealthStatus status, CancellationToken cancellationToken = default) { #if NETSTANDARD1_6 return(Task.CompletedTask); #else return(AppMetricsHealthTaskHelper.CompletedTask()); #endif }
/// <inheritdoc /> public Task ReportAsync(HealthOptions options, HealthStatus status, CancellationToken cancellationToken = default) { if (!_healthAsMetricsOptions.Enabled || !options.Enabled) { Logger.Trace($"Health Status Reporter `{this}` disabled, not reporting."); #if NETSTANDARD1_6 return(Task.CompletedTask); #else return(AppMetricsHealthTaskHelper.CompletedTask()); #endif } Logger.Trace($"Health Status Reporter `{this}` reporting health status."); foreach (var healthResult in status.Results) { var tags = new MetricTags(HealthReportingConstants.TagKeys.HealthCheckName, healthResult.Name); if (healthResult.Check.Status == HealthCheckStatus.Degraded) { _metrics.Measure.Gauge.SetValue(ApplicationHealthMetricRegistry.Checks, tags, HealthConstants.HealthScore.degraded); } else if (healthResult.Check.Status == HealthCheckStatus.Unhealthy) { _metrics.Measure.Gauge.SetValue(ApplicationHealthMetricRegistry.Checks, tags, HealthConstants.HealthScore.unhealthy); } else if (healthResult.Check.Status == HealthCheckStatus.Healthy) { _metrics.Measure.Gauge.SetValue(ApplicationHealthMetricRegistry.Checks, tags, HealthConstants.HealthScore.healthy); } } var overallHealthStatus = HealthConstants.HealthScore.healthy; if (status.Status == HealthCheckStatus.Unhealthy) { overallHealthStatus = HealthConstants.HealthScore.unhealthy; } else if (status.Status == HealthCheckStatus.Degraded) { overallHealthStatus = HealthConstants.HealthScore.degraded; } _metrics.Measure.Gauge.SetValue(ApplicationHealthMetricRegistry.HealthGauge, overallHealthStatus); Logger.Trace($"Health Status Reporter `{this}` successfully reported health status."); #if NETSTANDARD1_6 return(Task.CompletedTask); #else return(AppMetricsHealthTaskHelper.CompletedTask()); #endif }