diff --git a/src/Abstractions/Activities/ActivityExtensions.cs b/src/Abstractions/Activities/ActivityExtensions.cs index 24f33c7a..26624232 100644 --- a/src/Abstractions/Activities/ActivityExtensions.cs +++ b/src/Abstractions/Activities/ActivityExtensions.cs @@ -4,6 +4,7 @@ using System; using System.Diagnostics; using System.Globalization; +using Microsoft.Extensions.Diagnostics.HealthChecks; using Microsoft.Omex.Extensions.Abstractions.Activities.Processing; namespace Microsoft.Omex.Extensions.Abstractions.Activities @@ -72,6 +73,13 @@ public static Activity MarkAsHealthCheck(this Activity activity) => public static Activity SetResult(this Activity activity, ActivityResult result) => activity.SetTag(ActivityTagKeys.Result, ActivityResultStrings.ResultToString(result)); + /// + /// Set health check result + /// + /// This property won't be transferred to child activity or via web requests + public static Activity SetHealthCheckResult(this Activity activity, HealthStatus result) => + activity.SetTag(ActivityTagKeys.HealthCheckResult, result.ToString()); + /// /// Set activity result to Success /// diff --git a/src/Abstractions/Microsoft.Omex.Extensions.Abstractions.csproj b/src/Abstractions/Microsoft.Omex.Extensions.Abstractions.csproj index fbf0876d..33a3cb2e 100644 --- a/src/Abstractions/Microsoft.Omex.Extensions.Abstractions.csproj +++ b/src/Abstractions/Microsoft.Omex.Extensions.Abstractions.csproj @@ -14,6 +14,7 @@ + diff --git a/src/Diagnostics.HealthChecks/Composables/ObservableHealthCheck.cs b/src/Diagnostics.HealthChecks/Composables/ObservableHealthCheck.cs index 56a15ecd..eb597062 100644 --- a/src/Diagnostics.HealthChecks/Composables/ObservableHealthCheck.cs +++ b/src/Diagnostics.HealthChecks/Composables/ObservableHealthCheck.cs @@ -1,4 +1,5 @@ -// Copyright (C) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT license. using System; using System.Diagnostics; @@ -66,7 +67,7 @@ public async Task CheckHealthAsync(HealthCheckContext context ? result.Status : context.Registration.FailureStatus; - activity?.SetTag(ActivityTagKeys.HealthCheckResult, healthCheckStatus.ToString()); + activity?.SetHealthCheckResult(healthCheckStatus); return new HealthCheckResult( healthCheckStatus,