Display unknown EventSource's provider name properly (#299)
authorSung Yoon Whang <suwhang@microsoft.com>
Sun, 2 Jun 2019 23:17:51 +0000 (16:17 -0700)
committerGitHub <noreply@github.com>
Sun, 2 Jun 2019 23:17:51 +0000 (16:17 -0700)
src/Tools/dotnet-counters/ConsoleWriter.cs
src/Tools/dotnet-counters/CounterMonitor.cs

index 1886dfd08f1cfdfad9a0c620c9aa118fbad45218..b681dec5620120f9843d0621a057cd47e1d31af4 100644 (file)
@@ -16,11 +16,13 @@ namespace Microsoft.Diagnostics.Tools.Counters
         private int maxRow;  // Running maximum of row number
         private int maxCol;  // Running maximum of col number
         private Dictionary<string, int> knownProvidersRowNum;
+        private Dictionary<string, int> unknownProvidersRowNum;
 
         public ConsoleWriter()
         {
             displayPosition = new Dictionary<string, (int, int)>();
             knownProvidersRowNum = new Dictionary<string, int>();
+            unknownProvidersRowNum = new Dictionary<string, int>();
 
             foreach(CounterProvider provider in KnownData.GetAllProviders())
             {
@@ -64,7 +66,7 @@ namespace Microsoft.Diagnostics.Tools.Counters
                     {
                         knownProvidersRowNum[providerName] = maxRow + 1;
                         Console.SetCursorPosition(0, maxRow);
-                        Console.WriteLine(providerName);
+                        Console.WriteLine($"[{providerName}]");
                         maxRow += 1;
                     }
 
@@ -84,6 +86,14 @@ namespace Microsoft.Diagnostics.Tools.Counters
                 else
                 {
                     // If it's from an unknown provider, just append it at the end.
+                    if (!unknownProvidersRowNum.ContainsKey(providerName))
+                    {
+                        knownProvidersRowNum[providerName] = maxRow + 1;
+                        Console.SetCursorPosition(0, maxRow);
+                        Console.WriteLine($"[{providerName}]");
+                        maxRow += 1;
+                    }
+
                     string displayName = payload.GetDisplay();
                     if (string.IsNullOrEmpty(displayName))
                     {
index c57f1936e67467255b30911af1c39f2deb650e6f..ed129d1d12f50eed420f8c853f4d35c2bc11ee44 100644 (file)
@@ -101,11 +101,6 @@ namespace Microsoft.Diagnostics.Tools.Counters
                 return 1;
             }
 
-            if (_interval == 0) {
-                _console.Error.WriteLine("refreshInterval is required.");
-                return 1;
-            }
-
             String providerString;
 
             if (_counterList.Count == 0)