## Git
-For actual user operations, it is often more convinient to use the GIT features built into Visual Studio 2015.
+For actual user operations, it is often more convenient to use the GIT features built into Visual Studio 2015.
However the diagnostics repo use the GIT command line utilities directly so you need to install them
for these to work properly. You can get it from
However the change above will only last until the command windows closes. You can make your change to
the PATH variable persistent by going to Control Panel -> System And Security -> System -> Advanced system settings -> Environment Variables,
and select the 'Path' variable in the 'System variables' (if you want to change it for all users) or 'User variables' (if you only want
-to change it for the currnet user). Simply edit the PATH variable's value and add the directory (with a semicolon separator).
+to change it for the current user). Simply edit the PATH variable's value and add the directory (with a semicolon separator).
private-memory Amount of private virtual memory used by the process (KB)
working-set Amount of working set used by the process (KB)
virtual-memory Amount of virtual memory used by the process (KB)
- gc-total-memory Amount of commited virtual memory used by the GC (KB)
+ gc-total-memory Amount of committed virtual memory used by the GC (KB)
exceptions-thrown-rate Number of exceptions thrown in a recent 1 minute window (exceptions/min)
lock-contention-rate Number of instances of lock contention on runtime implemented locks in a
recent 1 minute window (contentions/min)
Sets the size of the in-memory circular buffer in megabytes. Default 256 MB.
-f, --format
- The format of the output trace file. This defualts to "netperf" on Windows and "speedscope" on other OSes.
+ The format of the output trace file. This defaults to "netperf" on Windows and "speedscope" on other OSes.
Examples:
- Provider/event enumeration
-Add a command that interogates a running process (or maybe binary?) to extract a set of providers and events it supports emitting.
+Add a command that interrogates a running process (or maybe binary?) to extract a set of providers and events it supports emitting.
- Monitor command
6. Do we want the tool be 'dotnet' prefixed or use a separate tool name?
- Dotnet prefixed. Our tools have similarities in function and naming to other non-dotnet tools, so including something that evokes 'dotnet' is important to distinguish them. Java established a precendent of putting a 'j' in front of their tool names but if we followed suit ('d' or 'dn' perhaps) I think it would only create confusion with dotnet's convention of using 'dotnet'. We could also try to name the tools something complete different (SOS is one example) and get users to still associate the name with dotnet, but it feels harder and less effective than simply naming 'dotnet' explicitly. Other names appear to be less discoverable, less easily predicted, and if we don't pick catchy names, probably less easily remembered.
+ Dotnet prefixed. Our tools have similarities in function and naming to other non-dotnet tools, so including something that evokes 'dotnet' is important to distinguish them. Java established a precedent of putting a 'j' in front of their tool names but if we followed suit ('d' or 'dn' perhaps) I think it would only create confusion with dotnet's convention of using 'dotnet'. We could also try to name the tools something complete different (SOS is one example) and get users to still associate the name with dotnet, but it feels harder and less effective than simply naming 'dotnet' explicitly. Other names appear to be less discoverable, less easily predicted, and if we don't pick catchy names, probably less easily remembered.
## Area specific Questions
0.957617512 seconds time elapsed
-Perf record <comamnd\_line\> collects a trace for the given command\_line
+Perf record <command\_line\> collects a trace for the given command\_line
perf record ./noploop 1
* The hardware being used (e.g. X64, X64, ARM64 ...)
* The operating system being used (Windows, Linux ...)
* The software environment in use (Raw VMs, containers, Azure Service Fabric, Web Applications (PAAS), Azure Functions, ...)
- * The other services used (Database, Storage, Redit Caches, Identity/Authorization (e.g. Microsoft ID, FaceBook Google)
+ * The other services used (Database, Storage, Redis Caches, Identity/Authorization (e.g. Microsoft ID, FaceBook Google)
### The Need for Collection (Verbosity) Control.
1. Add a top level landing page for Diagnostics and Performance on the https://docs.microsoft.com.
Then flesh that out with details on how to do specific investigations, and in particular all the
other work items listed here will be included in that documentation.
- 2. Add a new DumpASync command to the SOS debugging extension. Work with Visual Studio Team to have it integrated into their parallel stacks view. Make sure our existing Async dianostics works well.
+ 2. Add a new DumpASync command to the SOS debugging extension. Work with Visual Studio Team to have it integrated into their parallel stacks view. Make sure our existing Async diagnostics works well.
3. Create a new 'dotnet-collect' global command that allows the collection of EventPipe data 'by hand'. (See [dotnet-collect And dotnet-analyze](https://github.com/aspnet/AspLabs/tree/master/src/DotNetDiagnostics) for more.
It should be able to collect traces that can be read with either PerfView or Visual Studio.
4. Create a new 'dotnet-analyze' global command that allows you to do investigations on crash dumps. Simple triage of crashes as well as memory investigations should be possible.
--providers <list-of-comma-separated-providers>
A list of comma separated EventPipe providers to be enabled.
- This option adds to the configuration already provided via the --profile argument. If the same provider if configured in both places, this option takes precedence.
+ This option adds to the configuration already provided via the --profile argument. If the same provider is configured in both places, this option takes precedence.
A provider consists of the name and optionally the keywords, verbosity level, and custom key/value pairs.
The string is written 'Provider[,Provider]'
Sets the size of the in-memory circular buffer in megabytes. Default 256 MB.
-f, --format
- The format of the output trace file. This deafualts to "netperf" on Windows and "speedscope" on other OSes.
+ The format of the output trace file. This defaults to "netperf" on Windows and "speedscope" on other OSes.