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);
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
 }