public static void EnumerateTagValues <T>(this Activity activity, ref T tagEnumerator) where T : struct, IActivityTagEnumerator { Debug.Assert(activity != null, "Activity should not be null"); ActivityTagObjectsEnumeratorFactory <T> .Enumerate(activity, ref tagEnumerator); }
public static object GetTagValue(this Activity activity, string tagName) { Debug.Assert(activity != null, "Activity should not be null"); ActivitySingleTagEnumerator state = new ActivitySingleTagEnumerator(tagName); ActivityTagObjectsEnumeratorFactory <ActivitySingleTagEnumerator> .Enumerate(activity, ref state); return(state.Value); }
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); }