public static void EnumerateTags <T>(this Activity activity, ref T tagEnumerator) where T : struct, IActivityEnumerator <KeyValuePair <string, object> > { Debug.Assert(activity != null, "Activity should not be null"); ActivityTagsEnumeratorFactory <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); ActivityTagsEnumeratorFactory <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; ActivityTagsEnumeratorFactory <ActivityStatusTagEnumerator> .Enumerate(activity, ref state); if (!state.IsValid) { return(default);
public static bool TryCheckFirstTag(this Activity activity, string tagName, out object tagValue) { Debug.Assert(activity != null, "Activity should not be null"); ActivityFirstTagEnumerator state = new ActivityFirstTagEnumerator(tagName); ActivityTagsEnumeratorFactory <ActivityFirstTagEnumerator> .Enumerate(activity, ref state); if (state.Value == null) { tagValue = null; return(false); } tagValue = state.Value; return(true); }
public static Status GetStatus(this Activity activity) { Debug.Assert(activity != null, "Activity should not be null"); ActivityStatusTagEnumerator state = default; ActivityTagsEnumeratorFactory <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); }
public static bool TryGetStatus(this Activity activity, out StatusCode statusCode, out string statusDescription) { Debug.Assert(activity != null, "Activity should not be null"); ActivityStatusTagEnumerator state = default; ActivityTagsEnumeratorFactory <ActivityStatusTagEnumerator> .Enumerate(activity, ref state); if (!state.StatusCode.HasValue) { statusCode = default; statusDescription = null; return(false); } statusCode = state.StatusCode.Value; statusDescription = state.StatusDescription; return(true); }
public static void EnumerateTags <T>(this ActivityEvent activityEvent, ref T tagEnumerator) where T : struct, IActivityEnumerator <KeyValuePair <string, object> > { ActivityTagsEnumeratorFactory <T> .Enumerate(activityEvent, ref tagEnumerator); }