Fixing some payload serialization issue on new EventCounters (dotnet/coreclr#23295)
authorSung Yoon Whang <suwhang@microsoft.com>
Sun, 17 Mar 2019 02:06:11 +0000 (19:06 -0700)
committerGitHub <noreply@github.com>
Sun, 17 Mar 2019 02:06:11 +0000 (19:06 -0700)
* Fixing some payload serialization issue on new EventCounters

* Fix build error

Commit migrated from https://github.com/dotnet/coreclr/commit/b31dacad8ec2b79f24e1b4ab4b0a7c0a20159601

src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/CounterPayload.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/IncrementingEventCounter.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/IncrementingPollingCounter.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/PollingCounter.cs

index e7dd90d..ae4a1a7 100644 (file)
@@ -124,7 +124,7 @@ namespace System.Diagnostics.Tracing
 
         public string DisplayName { get; set; }
 
-        public TimeSpan DisplayRateTimeScale { get; set; }
+        public string DisplayRateTimeScale { get; set; }
 
         public float Increment { get; set; }
 
@@ -150,7 +150,7 @@ namespace System.Diagnostics.Tracing
             {
                 yield return new KeyValuePair<string, object>("Name", Name);
                 yield return new KeyValuePair<string, object>("DisplayName", DisplayName);
-                yield return new KeyValuePair<string, object>("DisplayRateTimeScale", DisplayRateTimeScale.ToString("c"));
+                yield return new KeyValuePair<string, object>("DisplayRateTimeScale", DisplayRateTimeScale);
                 yield return new KeyValuePair<string, object>("Increment", Increment);
                 yield return new KeyValuePair<string, object>("IntervalSec", IntervalSec);
                 yield return new KeyValuePair<string, object>("Series", $"Interval={IntervalSec}");
@@ -161,4 +161,4 @@ namespace System.Diagnostics.Tracing
 
         #endregion // Implementation of the IEnumerable interface
     }
-}
\ No newline at end of file
+}
index 05f6d43..1b83819 100644 (file)
@@ -62,8 +62,8 @@ namespace System.Diagnostics.Tracing
                 IncrementingCounterPayload payload = new IncrementingCounterPayload();
                 payload.Name = _name;
                 payload.IntervalSec = intervalSec;
-                payload.DisplayName = DisplayName;
-                payload.DisplayRateTimeScale = DisplayRateTimeScale;
+                payload.DisplayName = (DisplayName == null) ? "" : DisplayName;
+                payload.DisplayRateTimeScale = (DisplayRateTimeScale == TimeSpan.Zero) ? "" : DisplayRateTimeScale.ToString("c");
                 payload.MetaData = GetMetaDataString();
                 payload.Increment = _increment - _prevIncrement;
                 _prevIncrement = _increment;
index d9f640c..8cd5c42 100644 (file)
@@ -71,8 +71,8 @@ namespace System.Diagnostics.Tracing
             {
                 IncrementingCounterPayload payload = new IncrementingCounterPayload();
                 payload.Name = _name;
-                payload.DisplayName = DisplayName;
-                payload.DisplayRateTimeScale = DisplayRateTimeScale;
+                payload.DisplayName = (DisplayName == null) ? "" : DisplayName;
+                payload.DisplayRateTimeScale = (DisplayRateTimeScale == TimeSpan.Zero) ? "" : DisplayRateTimeScale.ToString("c");
                 payload.IntervalSec = intervalSec;
                 payload.MetaData = GetMetaDataString();
                 payload.Increment = _increment - _prevIncrement;
index 364e50d..f156ef1 100644 (file)
@@ -58,6 +58,7 @@ namespace System.Diagnostics.Tracing
 
                 CounterPayload payload = new CounterPayload();
                 payload.Name = _name;
+                payload.DisplayName = (DisplayName == null) ? "" : DisplayName;
                 payload.Count = 1; // NOTE: These dumb-looking statistics is intentional
                 payload.IntervalSec = intervalSec;
                 payload.Mean = value;