# System.Diagnostics

``` diff
 namespace System.Diagnostics {
     public class Activity : IDisposable {
+        public Activity AddException(Exception exception, in TagList tags = default(TagList), DateTimeOffset timestamp = default(DateTimeOffset));
     }
     public sealed class ActivityListener : IDisposable {
+        public ExceptionRecorder ExceptionRecorder { get; set; }
     }
     public sealed class ActivitySource : IDisposable {
+        public ActivitySource(string name);
+        public ActivitySource(string name, string? version = "", IEnumerable<KeyValuePair<string, object?>>? tags = null);
+        public IEnumerable<KeyValuePair<string, object?>>? Tags { get; }
     }
+    public sealed class DiagnosticMethodInfo {
+        public string DeclaringAssemblyName { get; }
+        public string DeclaringTypeName { get; }
+        public string Name { get; }
+        public static DiagnosticMethodInfo? Create(Delegate @delegate);
+        public static DiagnosticMethodInfo? Create(StackFrame frame);
+    }
+    public delegate void ExceptionRecorder(Activity activity, Exception exception, ref TagList tags);
 }
```

