private string GetValue(System.Diagnostics.Activity activity) { switch (Property) { case ActivityTraceProperty.Id: return(activity.Id); case ActivityTraceProperty.SpanId: return(activity.GetSpanId()); case ActivityTraceProperty.TraceId: return(activity.GetTraceId()); case ActivityTraceProperty.OperationName: return(activity.OperationName); case ActivityTraceProperty.StartTimeUtc: return(activity.StartTimeUtc > DateTime.MinValue ? activity.StartTimeUtc.ToString(Format, Culture) : string.Empty); case ActivityTraceProperty.Duration: return(GetDuration(activity)); case ActivityTraceProperty.ParentId: return(activity.GetParentId()); case ActivityTraceProperty.TraceState: return(activity.TraceStateString); case ActivityTraceProperty.TraceFlags: return(activity.ActivityTraceFlags == System.Diagnostics.ActivityTraceFlags.None && string.IsNullOrEmpty(Format) ? string.Empty : activity.ActivityTraceFlags.ToString(Format)); case ActivityTraceProperty.Baggage: return(GetCollectionItem(Item, activity.Baggage)); case ActivityTraceProperty.Tags: return(GetCollectionItem(Item, activity.TagObjects)); case ActivityTraceProperty.CustomProperty: return(string.IsNullOrEmpty(Item) ? string.Empty : (activity.GetCustomProperty(Item)?.ToString() ?? activity.Parent?.GetCustomProperty(Item)?.ToString() ?? string.Empty)); case ActivityTraceProperty.SourceName: return(activity.Source?.Name); case ActivityTraceProperty.SourceVersion: return(activity.Source?.Version); case ActivityTraceProperty.ActivityKind: return(ConvertToString(activity.Kind)); default: return(string.Empty); } }
public KeyValuePair <string, object> this[int index] { get { int offset = index - _originalPropertyList.Count; if (offset < 0) { return(_originalPropertyList[index]); } else { switch (offset) { case 0: return(new KeyValuePair <string, object>(nameof(_currentActivity.SpanId), _currentActivity.GetSpanId())); case 1: return(new KeyValuePair <string, object>(nameof(_currentActivity.TraceId), _currentActivity.GetTraceId())); case 2: return(new KeyValuePair <string, object>(nameof(_currentActivity.ParentId), _currentActivity.GetParentId())); } } throw new ArgumentOutOfRangeException(nameof(index)); } }