dotnet-gcdump: Update docs to include print verb
authorMohammad Mustakim Ali <mustakimali@hotmail.com>
Fri, 7 Feb 2020 23:28:42 +0000 (23:28 +0000)
committerMohammad Mustakim Ali <mustakimali@hotmail.com>
Thu, 20 Feb 2020 20:08:41 +0000 (20:08 +0000)
documentation/design-docs/dotnet-tools.md

index 6b6eb1f1ace0edb6d21d5b55b4f9fbaa5b6012b8..b47dafcd6060fe6e39142f4bb7a8035412455f98 100644 (file)
@@ -632,6 +632,7 @@ OPTIONS
 COMMANDS
 
     collect   Capture dumps from a process
+    print     Prints a previously collected gcdump into the stdout
 
 COLLECT
 
@@ -656,6 +657,9 @@ COLLECT
       -v, --verbose
           Turns on logging for gcdump
 
+      --std-out
+          Also writes plaintext results into stdout.
+
 Examples:
 
     $ dotnet gcdump collect --process-id 1902
@@ -663,6 +667,33 @@ Examples:
     Wrote 12576 bytes to file
     Complete
 
+PRINT
+
+    dotnet-gcdump print -f|--file <input_dump_path>
+    
+    Prints a previously collected gcdump into the stdout
+    
+    Usage:
+      dotnet-gcdump print [options]
+    
+    Options:
+      -f, --file <f>    The file to read gcdump from.
+
+Examples:
+
+    $ dotnet gcdump print -f 20200207_094403_19847.gcdump | head -10
+     1,335,288  (Dump size)
+       299,845  (Total allocations)
+    
+        55,898  System.String (Bytes > 10K)  [System.Private.CoreLib.dll]
+        32,664  System.Object[] (Bytes > 10K)  [System.Private.CoreLib.dll]
+        31,128  System.Int32[] (Bytes > 10K)  [System.Private.CoreLib.dll]
+        13,816  Entry<System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory+ServiceDescriptorCacheItem>[] (Bytes > 10K)  [System.Private.CoreLib.dll]
+        10,368  Entry<System.String,System.String>[] (Bytes > 10K)  [System.Private.CoreLib.dll]
+         8,960  Node<System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite>[] (Bytes > 1K)  [System.Collections.Concurrent.dll]
+         8,216  System.Char[] (Bytes > 1K)  [System.Private.CoreLib.dll]
+
+
 ## Future suggestions
 
 Work described in here captures potential future directions these tools could take given time and customer interest. Some of these might come relatively soon, others feel quite speculative or duplicative with existing technology. Regardless, understanding potential future options helps to ensure that we don't unknowingly paint ourselves into a corner or build an incoherent offering.