platform/core/dotnet/diagnostics.git
5 years agoMicrosoft.Diagnostics.NETCore.Client Implementation (#617)
Sung Yoon Whang [Fri, 6 Dec 2019 00:19:51 +0000 (16:19 -0800)]
Microsoft.Diagnostics.NETCore.Client Implementation (#617)

This is the initial implementation of Microsoft.Diagnostics.NETCore.Client library.

This will be released with version 1.0.0-preview, and when I feel that enough customers have validated it that we can match it with the rest of the diagnostics OOB packages and bump up the version to 3.1.

5 years agodotnet-counters JSON Exporter improvements (#666)
Sung Yoon Whang [Thu, 5 Dec 2019 21:23:25 +0000 (13:23 -0800)]
dotnet-counters JSON Exporter improvements (#666)

* make timestamp non culture-sensitive, change 'counter type' to 'counterType'

* Remove more spaces from the JSON

5 years agoSpeedScope handles only CPU samples, events are not supported (#661)
Adam Sitnik [Thu, 5 Dec 2019 19:19:43 +0000 (20:19 +0100)]
SpeedScope handles only CPU samples, events are not supported (#661)

5 years agoadd missing README.md files for global tools (#662)
Adam Sitnik [Wed, 4 Dec 2019 21:30:47 +0000 (22:30 +0100)]
add missing README.md files for global tools (#662)

* add missing README.md files for global tools

* use relative link

5 years agoUpdate dependencies from https://github.com/aspnet/AspNetCore build 20191203.5 (...
dotnet-maestro[bot] [Wed, 4 Dec 2019 13:51:20 +0000 (13:51 +0000)]
Update dependencies from https://github.com/aspnet/AspNetCore build 20191203.5 (#665)

- Microsoft.AspNetCore.App.Ref - 5.0.0-alpha1.19603.5

5 years agoUpdate dependencies from https://github.com/aspnet/AspNetCore build 20191202.2 (...
dotnet-maestro[bot] [Tue, 3 Dec 2019 13:50:56 +0000 (13:50 +0000)]
Update dependencies from https://github.com/aspnet/AspNetCore build 20191202.2 (#660)

- Microsoft.AspNetCore.App.Ref - 5.0.0-alpha1.19602.2

5 years agoUpdate dependencies from https://github.com/aspnet/AspNetCore build 20191201.2 (...
dotnet-maestro[bot] [Mon, 2 Dec 2019 13:50:40 +0000 (13:50 +0000)]
Update dependencies from https://github.com/aspnet/AspNetCore build 20191201.2 (#657)

- Microsoft.AspNetCore.App.Ref - 5.0.0-alpha1.19601.2

5 years agoUpdate dependencies from https://github.com/aspnet/AspNetCore build 20191128.4 (...
dotnet-maestro[bot] [Fri, 29 Nov 2019 13:50:48 +0000 (13:50 +0000)]
Update dependencies from https://github.com/aspnet/AspNetCore build 20191128.4 (#656)

- Microsoft.AspNetCore.App.Ref - 5.0.0-alpha1.19578.4

5 years agoUpdate dependencies from https://github.com/aspnet/AspNetCore build 20191127.15 ...
dotnet-maestro[bot] [Thu, 28 Nov 2019 13:50:27 +0000 (13:50 +0000)]
Update dependencies from https://github.com/aspnet/AspNetCore build 20191127.15 (#655)

- Microsoft.AspNetCore.App.Ref - 5.0.0-alpha1.19577.15

5 years agoAvoid exceptions when console is not available (#644)
Paul Harrington [Wed, 27 Nov 2019 18:41:29 +0000 (10:41 -0800)]
Avoid exceptions when console is not available (#644)

* Do not manipulate cursor if Console not available

* Use console.GetTerminal() to test for console

5 years agoAdd documentation on EventCounters (#605)
Sung Yoon Whang [Wed, 27 Nov 2019 00:00:30 +0000 (16:00 -0800)]
Add documentation on EventCounters (#605)

* Adding some initial EventCounters documentation

* Add more stuff about incrementingeventcounter

* Add pictures

* Add more description about how to write your own counter

* Add out-of-proc consumption, more samples

* formatting

* more formatting

* Add section about concurrency

* cleanup, formatting

* format

* Address PR feedback

5 years agoUpdate dependencies from https://github.com/aspnet/AspNetCore build 20191125.10 ...
dotnet-maestro[bot] [Tue, 26 Nov 2019 13:49:43 +0000 (13:49 +0000)]
Update dependencies from https://github.com/aspnet/AspNetCore build 20191125.10 (#650)

- Microsoft.AspNetCore.App.Ref - 5.0.0-alpha1.19575.10

5 years agoFix Windows X86 SOS test failures (#647)
Mike McLaughlin [Mon, 25 Nov 2019 23:39:18 +0000 (15:39 -0800)]
Fix Windows X86 SOS test failures (#647)

5 years agoAdd dependencies on testing packages (#640)
Juan Hoyos [Sat, 23 Nov 2019 19:26:01 +0000 (11:26 -0800)]
Add dependencies on testing packages (#640)

5 years agoTest 3.1 runtime, stop testing on 1.1 and 2.2 (#639)
Mike McLaughlin [Sat, 23 Nov 2019 19:25:53 +0000 (11:25 -0800)]
Test 3.1 runtime, stop testing on 1.1 and 2.2 (#639)

Update help doc with some missing aliases.

5 years agoMake dotnet-counters aware of DisplayUnits (#642)
Sung Yoon Whang [Sat, 23 Nov 2019 02:26:47 +0000 (18:26 -0800)]
Make dotnet-counters aware of DisplayUnits (#642)

5 years agolist-processes -> ps (#641)
Andy Sterland [Sat, 23 Nov 2019 01:10:39 +0000 (17:10 -0800)]
list-processes -> ps (#641)

It looks like list-processes is no longer a command and instead it's ps.

5 years agoAdd 3.1 to the installed host runtimes (#636)
Mike McLaughlin [Fri, 22 Nov 2019 02:22:25 +0000 (18:22 -0800)]
Add 3.1 to the installed host runtimes (#636)

Add 3.1 to the installed host runtimes

Don`t enable exception callback if bpmd hasn't been executed

5 years agoAdding a documentation page for using a privately build sos (#626)
Andrew Au [Wed, 20 Nov 2019 00:12:56 +0000 (16:12 -0800)]
Adding a documentation page for using a privately build sos (#626)

5 years agoadd eventpipe test harness (#618)
John Salem [Tue, 19 Nov 2019 23:10:29 +0000 (15:10 -0800)]
add eventpipe test harness (#618)

* Add eventpipe test harness to diagnostics repo

5 years agoFix flushing of string builder for multi-parameter conditions (#625)
Juan Hoyos [Tue, 19 Nov 2019 17:47:59 +0000 (09:47 -0800)]
Fix flushing of string builder for multi-parameter conditions (#625)

5 years agoFix bpmd on Windows and other changes (#622)
Mike McLaughlin [Mon, 18 Nov 2019 22:59:18 +0000 (14:59 -0800)]
Fix bpmd on Windows and other changes (#622)

Fix bpmd on Windows by implementing IDataTarget2 which allows the DAC to allocate a JIT notification
table which is empty on Windows. Issue https://github.com/dotnet/diagnostics/issues/584.

Add SetRuntimeLoadedCallback lldb service for bpmd

Allow bpmd to work before coreclr is loaded. Issue https://github.com/dotnet/diagnostics/issues/15

Upgrade to symstore 1.0.55801

Set/reset symbol server path anytime .sympath changes

Add lldb h files to plugin project

Add bpmd tests. Update readme and help docs

5 years agoFix config parser and logging path to support (#620)
Juan Hoyos [Fri, 15 Nov 2019 18:50:26 +0000 (10:50 -0800)]
Fix config parser and logging path to support (#620)

* Fix flaw in configuration parser error detection for negative clauses
* Logging paths can't have wildcards, but runtime specifiers can and this is used in our log names. In that case I resorted to use <Major.Minor.Patch> as the version for the log while preserving old behavior. That way xUnit still displays the full arg list for test disambiguation, but the logs only contain valid file names

5 years agoTry using the test reporter to report tests (#615)
Juan Hoyos [Thu, 14 Nov 2019 19:54:22 +0000 (11:54 -0800)]
Try using the test reporter to report tests (#615)

Use the AzDO pipeline reporter for xUnit style tests:

- This adds a per test report per run.
- Reports are now seen in the tests tab of a pipeline run as well as a tally in GitHub

5 years agoAdd new function options to conditions in test runner (#611)
Juan Hoyos [Thu, 14 Nov 2019 19:40:42 +0000 (11:40 -0800)]
Add new function options to conditions in test runner (#611)

Adds the following options to the test helper condition attributes:

* Contains(string, string)
* StartsWith(string, string)
* EndsWith(string, string)

And adds argument validation that throws exception - to prevent any more tests to be skipped silently.

5 years agoFix default PID value and add rollforward forgcdump (#614)
John Salem [Thu, 14 Nov 2019 18:57:27 +0000 (10:57 -0800)]
Fix default PID value and add rollforward forgcdump (#614)

* Prevent default value for pid
add roll forward runtimeconfig to dotnet-gcdump

* Change default to 0 and modify error message

* Change error message

5 years agoWait for process exit independently of waiting for stream flushing (#612)
Juan Hoyos [Wed, 13 Nov 2019 23:53:48 +0000 (15:53 -0800)]
Wait for process exit independently of waiting for stream flushing (#612)

* Wait for process exit independently of waiting for stream flushing
Before, the ProcessRunner waited for the process completion as well as stream
buffer flushing for stdout and stderr. This is problematic if the process
it ran dies, but its spawned child processes keep the defunct's standard
streams alive by redirecting to them. We have had no way of harvesting
the children, so this process hung the runner.

After this change, we wait for the spawned process to die. As soon as that happens,
we give the pipes a grace period of 15 seconds to flush, after which we assume
the process is dead. This has the shortcoming of two potentially problematic
situations:
- We've potentially left an unobserved aggregate exception unobserved that will throw
on the finalizer thread once the tasks get collected in exceptional cases.
- This might leak threadpool threads.

5 years agoDraft Proposal for Diagnostics Client Library (a.k.a. "Runtime Client Library") ...
Sung Yoon Whang [Wed, 13 Nov 2019 23:05:28 +0000 (15:05 -0800)]
Draft Proposal for Diagnostics Client Library (a.k.a. "Runtime Client Library") (#574)

5 years agoAdd counters tests to the diagnostics solution file to get it tested on automation...
Sung Yoon Whang [Tue, 12 Nov 2019 23:34:45 +0000 (15:34 -0800)]
Add counters tests to the diagnostics solution file to get it tested on automation (#609)

5 years agofix typo in README.md (#608)
Denis Andrejew [Sat, 9 Nov 2019 10:21:19 +0000 (11:21 +0100)]
fix typo in README.md (#608)

5 years agoFix formatting error in dotnet-counters doc (#604)
Sung Yoon Whang [Fri, 8 Nov 2019 22:36:46 +0000 (14:36 -0800)]
Fix formatting error in dotnet-counters doc (#604)

5 years agoRevert "Update the docker images used to have a newer version of CMake. (#597)" ...
Mike McLaughlin [Thu, 7 Nov 2019 02:24:12 +0000 (18:24 -0800)]
Revert "Update the docker images used to have a newer version of CMake. (#597)" (#598)

This reverts commit 0efe77744d981e3ecf0adaa9128b9880982f571e.

Not ready for the new CentOS 7 image with lldb 9.0 and the cross build images fail because build-native.sh needs to use clang 9.0 and the alpine image fails just building managed code with:

##[error].packages/microsoft.build.tasks.git/1.0.0-beta2-19270-01/build/Microsoft.Build.Tasks.Git.targets(16,5): error : The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception.
   at LibGit2Sharp.Core.NativeMethods.git_buf_free(GitBuf buf)
   at LibGit2Sharp.Core.Proxy.git_buf_free(GitBuf buf)
   at LibGit2Sharp.Core.Handles.GitBuf.Dispose()
   at LibGit2Sharp.Core.Proxy.ConvertPath(Func`2 pathRetriever)
   at LibGit2Sharp.Core.Proxy.git_repository_discover(FilePath start_path)
   at LibGit2Sharp.Repository.Discover(String startingPath)
   at Microsoft.Build.Tasks.Git.GitOperations.LocateRepository(String directory) in /_/src/Microsoft.Build.Tasks.Git.Operations/GitOperations.cs:line 26
   at Microsoft.Build.Tasks.Git.RepositoryTasks.LocateRepository(LocateRepository task) in /_/src/Microsoft.Build.Tasks.Git.Operations/RepositoryTasks.cs:line 58
/datadisks/disk1/workspace/_work/1/s/.dotnet/sdk/3.0.100/Roslyn/Microsoft.Managed.Core.targets(102,5): error : SourceRoot items must include at least one top-level (not nested) item when DeterministicSourcePaths is true [/datadisks/disk1/workspace/_work/1/s/src/SOS/lldbplugin.tests/TestDebuggee/TestDebuggee.csproj]

5 years agoUpdate the docker images used to have a newer version of CMake. (#597)
Jeremy Koritzinsky [Thu, 7 Nov 2019 00:32:29 +0000 (16:32 -0800)]
Update the docker images used to have a newer version of CMake. (#597)

5 years agoAdd dotnet-gcdump to diagnostics.sln so it builds in official builds (#594)
John Salem [Tue, 5 Nov 2019 02:25:50 +0000 (18:25 -0800)]
Add dotnet-gcdump to diagnostics.sln so it builds in official builds (#594)

5 years agoUse OSX 10.13 as the build agent for public CI (#593)
Juan Hoyos [Tue, 5 Nov 2019 00:18:00 +0000 (16:18 -0800)]
Use OSX 10.13 as the build agent for public CI (#593)

Thanks Juan!

5 years agoMerge pull request #581 from josalem/dev/josalem/gcdump-tool
John Salem [Sat, 2 Nov 2019 01:15:05 +0000 (18:15 -0700)]
Merge pull request #581 from josalem/dev/josalem/gcdump-tool

dotnet-gcdump

5 years ago* Refactoring to remove polling for type cache clearing session
John Salem [Sat, 2 Nov 2019 01:10:17 +0000 (18:10 -0700)]
* Refactoring to remove polling for type cache clearing session

* Switch to a static function on Stopwatch to avoid multi-threading
concerns with Stopwatch.Elapsed

* Change tool name when writing memory graph

* Add explicit null check on gcDumpSession to catch NRE in the event
EventPipe failed to connect.

* Add comment in README about future of code shared with PerfView

* Refactor to remove wrapping task for type flush session
* make EventPipeSession disposable to ensure stream is closed in case of
exception in the reader
* add using statements around source.Process calls
* add additional logging to verbose log

* Add additional logging
* add timeout option

* Remove unnecessary using statements

* Update src/Tools/dotnet-gcdump/CommandLine/CollectCommandHandler.cs

Co-Authored-By: Noah Falk <noahfalk@users.noreply.github.com>
* Update src/Tools/dotnet-gcdump/DotNetHeapDump/README.md

Co-Authored-By: Noah Falk <noahfalk@users.noreply.github.com>
* Fix weird unintended docs change

* Refactor to reduce multi-threading
* use cancellation token to cancel tasks on ctrl-c
* swallow TaskCancellationExceptions
* use volatile members for bools that are used between threads

* Check dump status on return to amke sure we don't throw additional
errors if event collection fails

* fix last whitespace issue

5 years agoAdd spec for gcdump tool (#512)
John Salem [Fri, 1 Nov 2019 21:48:41 +0000 (14:48 -0700)]
Add spec for gcdump tool (#512)

5 years agoUpdate core dump debugging work flow (#587)
Mike McLaughlin [Wed, 30 Oct 2019 05:02:59 +0000 (22:02 -0700)]
Update core dump debugging work flow (#587)

Update the Linux core dump debugging work flow

5 years agoreplace obsoleted attribute CoreJobAttribute with SimpleJob (#585)
Shiming Ge [Tue, 29 Oct 2019 08:23:13 +0000 (16:23 +0800)]
replace obsoleted attribute CoreJobAttribute with SimpleJob (#585)

5 years agoFix incorrect value displayed for rate counters (#583)
Sung Yoon Whang [Sun, 27 Oct 2019 02:30:10 +0000 (19:30 -0700)]
Fix incorrect value displayed for rate counters (#583)

* Fix incorrect value displayed for rate counters

* Add tests

5 years agoChange PerfView Utilities usage to BCL
John Salem [Fri, 25 Oct 2019 22:04:16 +0000 (15:04 -0700)]
Change PerfView Utilities usage to BCL

5 years agoInitial commit of dotnet-gcdump
John Salem [Fri, 25 Oct 2019 21:55:32 +0000 (14:55 -0700)]
Initial commit of dotnet-gcdump
* NOTE: use this commit as baseline for file copied from Microsoft/PerfView

5 years agoExport feature for dotnet-counters (#493)
Sung Yoon Whang [Fri, 25 Oct 2019 20:03:40 +0000 (13:03 -0700)]
Export feature for dotnet-counters (#493)

* Command line stuff

* Implement CSV/JSON Exporters

* some cleanup

* Overwrite the output if needed

* remove newline

* build error

* Refactor to remove duplicacy between ConsoleWriter and Exporters

* Remove ICounterExporter

* Add license headers

* Docs change

* Remove unused using

* Add file extension to output path only when necessary, remove some remaining comments and useless code

* Add unit tests for dotnet-counters

* remove useless binaries from the commit

* change comment

* tabs -> spaces

* Remove unused tests

* Address PR feedback on tests

* More PR feedback

* Fix PR comments

5 years agoUpdate benchmarkdotnet version to 0.12.0 (#582)
Sung Yoon Whang [Fri, 25 Oct 2019 18:06:05 +0000 (11:06 -0700)]
Update benchmarkdotnet version to 0.12.0 (#582)

5 years agoFix incorrect description of CreateCoreDump command - diagnostics argument (#579)
Sung Yoon Whang [Wed, 23 Oct 2019 17:20:03 +0000 (10:20 -0700)]
Fix incorrect description of CreateCoreDump command - diagnostics argument (#579)

5 years agoUpdated profiles (#566)
Felipe Pessoto [Wed, 16 Oct 2019 20:17:16 +0000 (17:17 -0300)]
Updated profiles (#566)

5 years agoFix dumpheap failures on certain dumps. (#561)
Mike McLaughlin [Tue, 15 Oct 2019 21:58:46 +0000 (14:58 -0700)]
Fix dumpheap failures on certain dumps. (#561)

Fix dumpheap failures on certain dumps.

Issue: https://github.com/dotnet/diagnostics/issues/503

Add MemoryService to package up all the read memory "mapping" logic.

Add MemoryCache to module mapping logic.

Rewrote ReadVirtualCache because of a couple of bugs that caused
some test failures on triage dumps making !pe displaying the exception
message string  not reliable.

Add SystemMemoryVersion property to Versions.props

5 years ago[test] Profile-Provider Merging Tests (#541)
John Salem [Mon, 14 Oct 2019 16:19:49 +0000 (09:19 -0700)]
[test] Profile-Provider Merging Tests (#541)

5 years ago[dotnet-trace] Allow user to specify text version of event level (#540)
Sung Yoon Whang [Tue, 8 Oct 2019 02:16:20 +0000 (19:16 -0700)]
[dotnet-trace] Allow user to specify text version of event level (#540)

* Allow user to specify text version of event level

* Throw on unknown event level

* add tests

* docs change

* more docs change

* make case insensitive comparison

5 years agoFix CI build failures (Microsoft.SymbolStore version missing) (#545)
Mike McLaughlin [Mon, 7 Oct 2019 21:25:07 +0000 (14:25 -0700)]
Fix CI build failures (Microsoft.SymbolStore version missing) (#545)

Fix SOS failure in daily scheduled build.

5 years agoRefactor out list-processes command handler and add it to dotnet-dump (#534)
Sung Yoon Whang [Mon, 7 Oct 2019 18:59:03 +0000 (11:59 -0700)]
Refactor out list-processes command handler and add it to dotnet-dump (#534)

* Refactor out ps command handler and add it to dotnet-dump

* More refactoring

* Some renaming

* update doc

* More docs update

* fix broken renamed file reference

* catch InvalidOperationException only

5 years agoAdd /ContinueOnError option to speedscope converter (#526)
Sung Yoon Whang [Sat, 5 Oct 2019 22:59:36 +0000 (15:59 -0700)]
Add /ContinueOnError option to speedscope converter (#526)

* Add /ContinueOnError option to speedscope converter

* Display a warning message when we have to continue on error

* Only retry if the exception thrown is from a broken trace

5 years agoTypos (#524)
John Doe [Sat, 5 Oct 2019 22:22:18 +0000 (15:22 -0700)]
Typos (#524)

* arbitary -> arbitrary

* buffes -> buffer

* loggging -> logging

* preceeding -> preceding

* succesful -> successful

* capablity -> capability

* commited -> committed

* diagose -> diagnose

* flamegrah -> flamegraph

* Hepers -> Helpers

5 years agoFix dotnet-counters documentation (#525)
Sung Yoon Whang [Thu, 3 Oct 2019 19:08:36 +0000 (12:08 -0700)]
Fix dotnet-counters documentation (#525)

5 years agoPublish symbols part 2 (#523)
Mike McLaughlin [Thu, 3 Oct 2019 05:15:17 +0000 (22:15 -0700)]
Publish symbols part 2 (#523)

Both Windows and Portable PDBs are published.

Change to Windows PDB for SOS.NETCore.dll in sos symbol zip file

Publish Microsoft.Diagnostics.TestHelpers, DebugServices, Repl and RuntimeClient symbols

5 years agoInitial batch of dotnet trace provider tests (#514)
John Salem [Wed, 2 Oct 2019 20:42:45 +0000 (13:42 -0700)]
Initial batch of dotnet trace provider tests (#514)

5 years agoDisplay internal SOS status with sosstatus command (#519)
Mike McLaughlin [Wed, 2 Oct 2019 17:25:39 +0000 (10:25 -0700)]
Display internal SOS status with sosstatus command (#519)

Display internal SOS status with sosstatus command

Add dumpvc to dotnet-dump/lldb commands.

Remove reductant dotnet-dump error message when SOS command fails.

Fixes issues:

    https://github.com/dotnet/diagnostics/issues/511
    https://github.com/dotnet/diagnostics/issues/508
    https://github.com/dotnet/diagnostics/issues/509

Change SyncBlk test not to run on xplat.

5 years agoFix BitConverter calls (#516)
Andrew Au [Tue, 1 Oct 2019 21:35:47 +0000 (14:35 -0700)]
Fix BitConverter calls (#516)

5 years agoAdd webapp debuggees and more SOS commmand tests (#507)
Mike McLaughlin [Tue, 1 Oct 2019 04:04:32 +0000 (21:04 -0700)]
Add webapp debuggees and more SOS commmand tests (#507)

Add webapp debuggees and more SOS commmand tests

Add runtime version to TestConfiguration.ToString()

Added WebApp and WebApp3 as prebuilts. Use pipe to sync webapps. "dotnet-dump collect" to collect a dump from these apps.

Enable "dbgout" command logging

Speed up SOS tests by reworking ScriptLogger removing the .EndsWith on the last command output string.

Upgrade to 3.0.100 SDK

Switch to prebuilt debuggees except desktop (net462). Add debuggees.sln. Don't optimize debuggees.

Add the lldb plugin test python script as an xunit test

Publish the dump and bin artifacts on failure

Enable triage dump testing.

Switch to BYOC pools

5 years agoFix output of console writer of dotnet-counters when displayname is not set. (#505)
Peter Bons [Thu, 26 Sep 2019 21:30:23 +0000 (23:30 +0200)]
Fix output of console writer of dotnet-counters when displayname is not set. (#505)

5 years agoFix the error message when not a valid process ID is specified (#501)
Sung Yoon Whang [Wed, 25 Sep 2019 21:40:45 +0000 (14:40 -0700)]
Fix the error message when not a valid process ID is specified (#501)

5 years agoComplete the !u -il SOS command
Neeraj [Wed, 25 Sep 2019 03:50:50 +0000 (09:20 +0530)]
Complete the !u -il SOS command

5 years agoVerbose logging for symbol publish, etc. (#495)
Mike McLaughlin [Sat, 21 Sep 2019 19:32:24 +0000 (12:32 -0700)]
Verbose logging for symbol publish, etc. (#495)

Change to preview version

Update docs with release instructions

Remove source link disabling

Change symbol publish verbosity to normal

5 years agoFix a timeout exception causing unhandled exception crash (#492)
Sung Yoon Whang [Sat, 21 Sep 2019 00:14:41 +0000 (17:14 -0700)]
Fix a timeout exception causing unhandled exception crash (#492)

* Fix a timeout exception causing unhandled exception crash

* Fix the same issue on Unix too

* Move the exception handling to StopMonitor to distinguish actually incompatible runtimes from early exits

* fix build error

5 years agoCounter benchmark tests (#475)
Sung Yoon Whang [Thu, 19 Sep 2019 00:32:20 +0000 (17:32 -0700)]
Counter benchmark tests (#475)

* Basic benchmark test added

* don't include benchmarkdotnet artifacts in the git repo

* Some README changes, added gitignore

5 years agoPublish SOS symbols (#482)
Mike McLaughlin [Tue, 17 Sep 2019 01:33:41 +0000 (18:33 -0700)]
Publish SOS symbols (#482)

Publish SOS symbols

Issue: https://github.com/dotnet/diagnostics/issues/481

5 years agoShow warning when providers are specified via GUID (#476)
Sung Yoon Whang [Sat, 14 Sep 2019 05:12:26 +0000 (22:12 -0700)]
Show warning when providers are specified via GUID (#476)

* Show warning when providers are specified via GUID

* Lets not throw useless exceptions

* Fix typo

5 years agoVarious fixes and update cdb (#477)
Mike McLaughlin [Sat, 14 Sep 2019 04:08:15 +0000 (21:08 -0700)]
Various fixes and update cdb (#477)

Various fixes

Change cdb version in config

Fix symbol not found problem caused by directory symstore not setting the stream position to 0.

5 years agodotnet-trace CLI changes (#473)
Sung Yoon Whang [Fri, 13 Sep 2019 05:32:12 +0000 (22:32 -0700)]
dotnet-trace CLI changes (#473)

* Fix dotnet-trace CLI according to the newest spec changes

* Add some configuration strings to help users understand where providers came from

* Some typos

* More UI changes suggested from PR

* Some strange Console bug causing issues... Clear the console before printing anything to make it work better

* remove provider/profile string from enabledBy column

5 years agoFix dumpmd/ip2md commands for < 3.x runtimes (#462)
Mike McLaughlin [Thu, 12 Sep 2019 07:34:56 +0000 (00:34 -0700)]
Fix dumpmd/ip2md commands for < 3.x runtimes (#462)

Fix dumpmd/ip2md commands for < 3.x runtimes

Implement GetEEVersion for xplat using the embedded "@(#)Version" string.

Enabled/add the "eeversion" command for xplat.

Added LLDBService2::GetModuleVersion to get the version string via the "sccid" symbol. Fallback
to using search the data sections to the version string.

Added same to SOSHost so eeversion works in dotnet-dump.

Fixed initializing g_moduleInfo for Linux. It is used by dumpmt. Added new LLDBService2::GetModuleInfo api to do this.

Added "dumparray" alias to lldb command aliases.

Add testing for the eeversion command.

Fixed desktop SOS tests. The recent change adding the MAJOR_RUNTIME_VERSION_X SOS runner
define silently broke the "desktop" SOS. Made the SOS runner more robust to these silent
failures.

5 years agoMerge pull request #466 from noahfalk/dotnet-trace-profile-update
Noah Falk [Thu, 12 Sep 2019 00:20:10 +0000 (17:20 -0700)]
Merge pull request #466 from noahfalk/dotnet-trace-profile-update

Improve dotnet-trace profile CLI syntax

5 years agoMake gc/gc-collect profiles available (#441)
Sung Yoon Whang [Wed, 11 Sep 2019 22:35:05 +0000 (15:35 -0700)]
Make gc/gc-collect profiles available (#441)

* Make gc/gc-collect profiles available

* Add a new gc-verbose profile, rename existing gc profile to gc-with-heapsurvival, remove sampleprofiler from gc-collect

* gc-verbose only needs stack at gc events -- disabling sampleprofiler for this profile

* Remove gc-with-heapsurvival, update description for gc-verbose

5 years agoFix nullref caused in System.CommandLine by having a default value of null for durati...
John Salem [Tue, 10 Sep 2019 23:46:18 +0000 (16:46 -0700)]
Fix nullref caused in System.CommandLine by having a default value of null for duration (#468)

5 years agoImprove dotnet-trace profile CLI syntax
noahfalk [Tue, 10 Sep 2019 02:10:47 +0000 (19:10 -0700)]
Improve dotnet-trace profile CLI syntax

1) Rename 'runtime-basic' -> 'cpu-sampling' to better align with what we are going to tell users to use it for. Technically you can do other things with it too, but I think we should favor names that describe what it is usually used for vs. being generic to cover less common possibilities.

2) Eliminated the 'none' option. We got feedback this option was confusing and hard to discover. The original goal was that final providers = --profile config + --providers config. Since --profile defaulted to cpu sampling you needed a way to disable that part of it, the 'none' profile. The new approach is to only provide a default profile when both --profile and --providers haven't been specified. I am also suggesting some help and command-line output spew to make it obvious why the default profile kicked in.

3) Updating the GC profile names based on work Sung is doing.

5 years agoAdd hidden duration option to dotnet-trace (#453)
John Salem [Fri, 6 Sep 2019 17:49:45 +0000 (10:49 -0700)]
Add hidden duration option to dotnet-trace (#453)

* Add duration option to dotnet-trace

* Use TimeSpan instead of int
* change to just re-use the MRE

* Fix duration option name

5 years agoMake a different option to change the default format for convert command (#455)
Sung Yoon Whang [Thu, 5 Sep 2019 23:12:33 +0000 (16:12 -0700)]
Make a different option to change the default format for convert command (#455)

* Make a different option to change the default format for convert command

* Make --format a required option for convert command, Write on console instead of throwing an ArgumentException:

5 years agoUpdate docs to Preview 9 version (#460)
Mike McLaughlin [Thu, 5 Sep 2019 17:16:18 +0000 (10:16 -0700)]
Update docs to Preview 9 version (#460)

5 years agoFix memory leak (#457)
Andrew Au [Tue, 3 Sep 2019 20:46:21 +0000 (13:46 -0700)]
Fix memory leak (#457)

5 years agoAdd architecture option dotnet-sos (#450)
Mike McLaughlin [Tue, 27 Aug 2019 01:12:24 +0000 (18:12 -0700)]
Add architecture option dotnet-sos (#450)

Add architecture option dotnet-sos

Issue: https://github.com/dotnet/diagnostics/issues/406

Add --diag option to dotnet-dump collect to help diagnose issues like https://github.com/dotnet/diagnostics/issues/449 and others.

Update FAQ.

5 years agoFix issue #280: statics not displayed correctly in DumpObj command (#446)
Mike McLaughlin [Sat, 24 Aug 2019 18:43:35 +0000 (11:43 -0700)]
Fix issue #280: statics not displayed correctly in DumpObj command (#446)

Fix issue #280: statics not displayed correctly in DumpObj command

On .NET Core, dwModuleDomainID is the address of the DomainLocalModule so use the DacpDomainLocalModuleData.Request to get the module info for statics.

Restored the DisplayFields/DisplaySgaredStatic/DisplayThreadStatic code from 2.1 SOS. It was changed in 3.0 when the appdomains changed. Need to be both backward and forward compatible.

Add tests for !do static fields

Add dumparray command to dotnet-dump. Issue: https://github.com/dotnet/diagnostics/issues/445.

5 years agoImprove output formatting and fix bugs in dotnet-counters (#443)
Hans Olav Norheim [Fri, 23 Aug 2019 22:36:31 +0000 (15:36 -0700)]
Improve output formatting and fix bugs in dotnet-counters (#443)

This change improves output formatting in dotnet-counters by:
- Right aligning counter values.
- Decimal numbers are aligned on the decimal separator.
- Introducing thousand separators.

It fixes the following bug:
- If monitoring multiple providers (for example System.Runtime and a user-defined one), the provider and counter names get mixed up in the output.

I simplified the logic in ConsoleWriter.cs a great deal with these changes, so it has 63 fewer lines than before now.

5 years agoMerge pull request #437 from davmason/rejit_sos
David Mason [Fri, 23 Aug 2019 22:19:59 +0000 (15:19 -0700)]
Merge pull request #437 from davmason/rejit_sos

Add ReJIT information to !DumpMD

5 years agoMerge pull request #442 from mikem8361/dirsearch
Mike McLaughlin [Thu, 22 Aug 2019 22:02:37 +0000 (15:02 -0700)]
Merge pull request #442 from mikem8361/dirsearch

 Add directory symbol search and document IDL/prebuilt files update

5 years agoAdd directory symbol search
Mike McLaughlin [Wed, 21 Aug 2019 21:49:56 +0000 (14:49 -0700)]
Add directory symbol search

Adds a setsymbolserver option (-directory) to add directories to the symbol search path.

Cleaned up how the symbol code added the "default" symbol cache. It is done when the server URI is added if a cache path wasn't specified.

Ignore adding duplicate server URI's and search directories. Ignore adding the same cache directory twice in a row.

Add -sympath option to setsymbolserver and lldb "sympath" command alias for devs that want to use the Window symbol path syntax.

Change to Preview9 prerelease label.

Issues:

https://github.com/dotnet/diagnostics/issues/422
https://github.com/dotnet/diagnostics/issues/420

5 years agoVarious document updates
Mike McLaughlin [Wed, 21 Aug 2019 21:49:18 +0000 (14:49 -0700)]
Various document updates

5 years agoSync the IDL and prebuilt files with coreclr
Mike McLaughlin [Wed, 21 Aug 2019 21:47:28 +0000 (14:47 -0700)]
Sync the IDL and prebuilt files with coreclr

5 years agoWhitespace changes
David Mason [Wed, 21 Aug 2019 11:13:23 +0000 (04:13 -0700)]
Whitespace changes

5 years agobug fixes
David Mason [Wed, 21 Aug 2019 11:03:33 +0000 (04:03 -0700)]
bug fixes

5 years agoRemove double escape in provider filter strings (#431)
John Salem [Tue, 20 Aug 2019 16:47:02 +0000 (09:47 -0700)]
Remove double escape in provider filter strings (#431)

* unescape filter strings since they are coming in double escaped, e.g., \\r\\n instead of \r\n

* add note to documentation about correct usage of filter string

5 years agoAdd Windows PE reading to dotnet-dump (#435)
Mike McLaughlin [Tue, 20 Aug 2019 03:49:45 +0000 (20:49 -0700)]
Add Windows PE reading to dotnet-dump (#435)

Add Windows PE reading to dotnet-dump

Finds or downloads the native modules like coreclr.dll or managed
assemblies into the virtual address space of the core dump. Emulates
what the Windows debugger do for minidumps.

Added "logging" command that enables/disables internal logging

5 years agoAdd guid definition
David Mason [Sat, 17 Aug 2019 22:53:16 +0000 (15:53 -0700)]
Add guid definition

5 years agoHopefully fix xplat build
David Mason [Sat, 17 Aug 2019 22:22:27 +0000 (15:22 -0700)]
Hopefully fix xplat build

5 years agoBug fixes
David Mason [Sat, 17 Aug 2019 22:00:46 +0000 (15:00 -0700)]
Bug fixes

5 years agoWIP additional commands
David Mason [Sat, 17 Aug 2019 20:36:17 +0000 (13:36 -0700)]
WIP additional commands

5 years agoWIP
David Mason [Sat, 17 Aug 2019 09:57:37 +0000 (02:57 -0700)]
WIP

5 years agoWIP
David Mason [Sat, 17 Aug 2019 09:14:53 +0000 (02:14 -0700)]
WIP

5 years agoMerge branch 'rejit_sos' of https://github.com/davmason/diagnostics into rejit_sos
David Mason [Sat, 17 Aug 2019 08:24:14 +0000 (01:24 -0700)]
Merge branch 'rejit_sos' of https://github.com/davmason/diagnostics into rejit_sos

5 years agoWIP
David Mason [Sat, 17 Aug 2019 08:22:38 +0000 (01:22 -0700)]
WIP

5 years agoFix IncrementingCounter payload generation (#433)
Sung Yoon Whang [Fri, 16 Aug 2019 20:16:17 +0000 (13:16 -0700)]
Fix IncrementingCounter payload generation (#433)

* Fix IncrementingCounter payload generation

* code review