# System.Diagnostics ``` diff namespace System.Diagnostics { public class Activity { + public ActivityTraceFlags ActivityTraceFlags { get; set; } - public static Activity Current { get; private set; } + public static Activity Current { get; set; } + public static ActivityIdFormat DefaultIdFormat { get; set; } + public static bool ForceDefaultIdFormat { get; set; } + public ActivityIdFormat IdFormat { get; } + public ActivitySpanId ParentSpanId { get; } + public bool Recorded { get; } + public ActivitySpanId SpanId { get; } + public ActivityTraceId TraceId { get; } + public string TraceStateString { get; set; } + public Activity SetIdFormat(ActivityIdFormat format); + public Activity SetParentId(ActivityTraceId traceId, ActivitySpanId spanId, ActivityTraceFlags activityTraceFlags = ActivityTraceFlags.None); } + public enum ActivityIdFormat { + Hierarchical = 1, + Unknown = 0, + W3C = 2, + } + public readonly struct ActivitySpanId : IEquatable { + public void CopyTo(Span destination); + public static ActivitySpanId CreateFromBytes(ReadOnlySpan idData); + public static ActivitySpanId CreateFromString(ReadOnlySpan idData); + public static ActivitySpanId CreateFromUtf8String(ReadOnlySpan idData); + public static ActivitySpanId CreateRandom(); + public bool Equals(ActivitySpanId spanId); + public override bool Equals(object obj); + public override int GetHashCode(); + public static bool operator ==(ActivitySpanId spanId1, ActivitySpanId spandId2); + public static bool operator !=(ActivitySpanId spanId1, ActivitySpanId spandId2); + public string ToHexString(); + public override string ToString(); + } + public enum ActivityTraceFlags { + None = 0, + Recorded = 1, + } + public readonly struct ActivityTraceId : IEquatable { + public void CopyTo(Span destination); + public static ActivityTraceId CreateFromBytes(ReadOnlySpan idData); + public static ActivityTraceId CreateFromString(ReadOnlySpan idData); + public static ActivityTraceId CreateFromUtf8String(ReadOnlySpan idData); + public static ActivityTraceId CreateRandom(); + public bool Equals(ActivityTraceId traceId); + public override bool Equals(object obj); + public override int GetHashCode(); + public static bool operator ==(ActivityTraceId traceId1, ActivityTraceId traceId2); + public static bool operator !=(ActivityTraceId traceId1, ActivityTraceId traceId2); + public string ToHexString(); + public override string ToString(); + } + public class ConsoleTraceListener : TextWriterTraceListener { + public ConsoleTraceListener(); + public ConsoleTraceListener(bool useErrorStream); + public override void Close(); + } public class DiagnosticListener : DiagnosticSource, IDisposable, IObservable> { + public override void OnActivityExport(Activity activity, object payload); + public override void OnActivityImport(Activity activity, object payload); + public virtual IDisposable Subscribe(IObserver> observer, Func isEnabled, Action onActivityImport = null, Action onActivityExport = null); + public override string ToString(); - public override void Write(string name, object parameters); + public override void Write(string name, object value); } public abstract class DiagnosticSource { + public virtual void OnActivityExport(Activity activity, object payload); + public virtual void OnActivityImport(Activity activity, object payload); } public class Process : Component { + public void Kill(bool entireProcessTree); } + public class XmlWriterTraceListener : TextWriterTraceListener { + public XmlWriterTraceListener(Stream stream); + public XmlWriterTraceListener(Stream stream, string name); + public XmlWriterTraceListener(TextWriter writer); + public XmlWriterTraceListener(TextWriter writer, string name); + public XmlWriterTraceListener(string filename); + public XmlWriterTraceListener(string filename, string name); + public override void Close(); + public override void Fail(string message, string detailMessage); + public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, object data); + public override void TraceData(TraceEventCache eventCache, string source, TraceEventType eventType, int id, params object[] data); + public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string message); + public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string format, params object[] args); + public override void TraceTransfer(TraceEventCache eventCache, string source, int id, string message, Guid relatedActivityId); + public override void Write(string message); + public override void WriteLine(string message); + } } ```