public static Status GetStatus(this Activity activity) { Debug.Assert(activity != null, "Activity should not be null"); var statusCanonicalCode = activity.Tags.FirstOrDefault(k => k.Key == SpanAttributeConstants.StatusCodeKey).Value; var statusDescription = activity.Tags.FirstOrDefault(d => d.Key == SpanAttributeConstants.StatusDescriptionKey).Value; var status = SpanHelper.ResolveCanonicalCodeToStatus(statusCanonicalCode); if (status.IsValid && !string.IsNullOrEmpty(statusDescription)) { return(status.WithDescription(statusDescription)); } return(status); }
public static Status GetStatus(this Activity activity) { Debug.Assert(activity != null, "Activity should not be null"); ActivityStatusTagEnumerator state = default; ActivityTagObjectsEnumeratorFactory <ActivityStatusTagEnumerator> .Enumerate(activity, ref state); var status = SpanHelper.ResolveCanonicalCodeToStatus(state.StatusCode); if (status.IsValid && !string.IsNullOrEmpty(state.StatusDescription)) { return(status.WithDescription(state.StatusDescription)); } return(status); }