dotnet-core/release-notes/3.0/preview/api-diff/preview5/3.0-preview5_System.Diagnostics.Tracing.md

1.3 KiB

System.Diagnostics.Tracing

 namespace System.Diagnostics.Tracing {
+    public abstract class DiagnosticCounter : IDisposable {
+        public DiagnosticCounter(string name, EventSource eventSource);
+        public string DisplayName { get; set; }
+        public EventSource EventSource { get; }
+        public string Name { get; }
+        public void AddMetadata(string key, string value);
+        public void Dispose();
+    }
-    public class EventCounter : IDisposable {
+    public class EventCounter : DiagnosticCounter {
-        public void Dispose();

+        public void WriteMetric(double value);
     }
+    public class IncrementingEventCounter : DiagnosticCounter {
+        public IncrementingEventCounter(string name, EventSource eventSource);
+        public TimeSpan DisplayRateTimeScale { get; set; }
+        public void Increment(double increment = 1);
+    }
+    public class IncrementingPollingCounter : DiagnosticCounter {
+        public IncrementingPollingCounter(string name, EventSource eventSource, Func<double> totalValueProvider);
+        public TimeSpan DisplayRateTimeScale { get; set; }
+    }
+    public class PollingCounter : DiagnosticCounter {
+        public PollingCounter(string name, EventSource eventSource, Func<double> metricProvider);
+    }
 }