platform/core/dotnet/diagnostics.git
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

5 years agoUpdate tool version 3.0.0-preview8.19412.1 (#425)
Mike McLaughlin [Tue, 13 Aug 2019 05:37:15 +0000 (22:37 -0700)]
Update tool version 3.0.0-preview8.19412.1 (#425)

5 years agoAdd instructions about how to collect counter data via dotnet-trace (#419)
Sung Yoon Whang [Thu, 8 Aug 2019 20:46:12 +0000 (13:46 -0700)]
Add instructions about how to collect counter data via dotnet-trace (#419)

* Add instructions about how to collect counter data via dotnet-trace

* change wording

5 years agoRemoving Provider GUID references from EventPipe related files. (#416)
José Rivero [Tue, 6 Aug 2019 18:40:01 +0000 (11:40 -0700)]
Removing Provider GUID references from EventPipe related files. (#416)

5 years agoUpdate TraceEvent version (#415)
José Rivero [Mon, 5 Aug 2019 17:27:59 +0000 (10:27 -0700)]
Update TraceEvent version (#415)

5 years agoAdd arm/arm64 support to dotnet-dump (#411)
Mike McLaughlin [Tue, 30 Jul 2019 17:03:16 +0000 (10:03 -0700)]
Add arm/arm64 support to dotnet-dump (#411)

Add arm/arm64 support

Using new CLRMD version 1.1.37504

Add Microsoft.Diagnostics.DebugServices project containing the
new RegisterService and what's left of the AnalyzeContext.

Add ServiceProvider and refactor adding/creating the services.

Made OutputVaList global so we don't allocate 8K every line of output

Fixed that the "mask" (determines if error/normal/warning) is pasted on
to the debugger in OutputVaList.

Removed the formatting/buffer allocating in the OutputVaList in lldb services

Always use C++ runtime to format output now.

SOS_PTR keeps the architecture pointer size (size_t).

On x86, dotnet-dump had problems with %p formatting because the
C++ runtime was used and the pointer was converted to 64 bit by
the SOS_PTR macro.

Add arm64 registers to lldb service GetContextFromFrame

Enable tests on arm.

Added IConsoleService and removed the dependencies on System.CommandLine
from SOS.Hosting and MS.D.DebugServices.

IConsole is no longer exposed as a service.

5 years agoAdd ASP.NET Counter to known list of counters (#410)
Sung Yoon Whang [Sun, 28 Jul 2019 06:01:09 +0000 (23:01 -0700)]
Add ASP.NET Counter to known list of counters (#410)

5 years ago!u -il prototype (Part 1) (#409)
Andrew Au [Fri, 26 Jul 2019 23:29:56 +0000 (16:29 -0700)]
!u -il prototype (Part 1) (#409)

5 years agoUpdate readme.md with link to its GitHub release page (#408)
Christoph Bergmeister [MVP] [Fri, 26 Jul 2019 17:41:03 +0000 (18:41 +0100)]
Update readme.md with link to its GitHub release page (#408)

5 years agoEnable disasm mixed gc info (#403)
Bruce Forstall [Thu, 18 Jul 2019 19:04:49 +0000 (12:04 -0700)]
Enable disasm mixed gc info (#403)

* Enable gcinfo mixed in disassembly on non-Windows platforms

Rewrite the "u -gcinfo" code to not require Windows fibers,
and enable it for non-Windows platforms.

Also,
1. Enable "u -gcinfo" for ARM.
2. Fix minor issues with EHinfo/GCinfo to ensure end-of-function info is displayed

5 years agoUpdate documents to preview 7 version (#401)
Mike McLaughlin [Wed, 17 Jul 2019 19:44:58 +0000 (12:44 -0700)]
Update documents to preview 7 version (#401)

5 years agoRollback arcade version update (#396)
Mike McLaughlin [Tue, 16 Jul 2019 00:42:39 +0000 (17:42 -0700)]
Rollback arcade version update (#396)

5 years agoAdd RundownEnabled field to EventPipe IPC protocol (#375)
Sung Yoon Whang [Tue, 16 Jul 2019 00:14:06 +0000 (17:14 -0700)]
Add RundownEnabled field to EventPipe IPC protocol (#375)

* Add requestRundown field to EventPipe IPC protocol

* doc change

* removing accidental .nettrace commit

* Add a new command with an option to specify rundown

* doc changes

* Make the tool compatible with previous versions of tools

* comment typo

* dont rename the existing struct to keep backward compat

* Make dotnet-counters backward compatible

* parse HR code runtime returns and throw/catch appropriate exception

* remove debug print

5 years ago Add SOS nuget package for Windows debugger team (#392)
Mike McLaughlin [Mon, 15 Jul 2019 17:22:58 +0000 (10:22 -0700)]
 Add SOS nuget package for Windows debugger team  (#392)

Add SOS nuget package for Windows debugger team

Generate extension gallery zip in new SOS.Package project. Remove
the create-gallery-zip.ps1 script and build def step.

Some misc engineering cleanup.

Upgrade arcade (1.0.0-beta.19358.1) and sdk (3.0.100-preview6-012264) versions.

Remove SOS.NETCore explicit VersionPrefix

CR

5 years agoFix broken link to Getting lldb
Steve MacLean [Thu, 11 Jul 2019 16:36:28 +0000 (12:36 -0400)]
Fix broken link to Getting lldb

5 years agoFix Debian lldb instructions
Steve MacLean [Thu, 11 Jul 2019 16:30:57 +0000 (12:30 -0400)]
Fix Debian lldb instructions

5 years agoFix issue 387 (#391)
Sung Yoon Whang [Thu, 11 Jul 2019 04:11:55 +0000 (21:11 -0700)]
Fix issue 387 (#391)

* Fix some issue in counters

* fix accidental bug

5 years agoAlign counter values (#379)
Marisa You [Wed, 10 Jul 2019 22:14:59 +0000 (15:14 -0700)]
Align counter values (#379)

* Left-align counter values

* Add comments

* Adjusted value alignment to accommodate longer counter names

* Fixed comments

* Added comment

5 years agoAdd known issues to dotnet-trace instructions
Noah Falk [Wed, 10 Jul 2019 06:06:56 +0000 (23:06 -0700)]
Add known issues to dotnet-trace instructions

5 years agoUpdate CLRMD to version 1.1.35902 (#388)
Mike McLaughlin [Tue, 9 Jul 2019 19:22:23 +0000 (12:22 -0700)]
Update CLRMD to version 1.1.35902 (#388)

5 years agoChange SOS and diagnostic tool versioning (#384)
Mike McLaughlin [Mon, 8 Jul 2019 23:21:30 +0000 (16:21 -0700)]
Change SOS and diagnostic tool versioning (#384)

Change the major/minor/patch to 3.0.0 to match our runtime.

Changed the extension gallery zip file and version to the file version
generated by Arcade.

5 years agoAdd Microsoft.DiaSymReader.Native to SOS package (#383)
Mike McLaughlin [Mon, 8 Jul 2019 21:46:00 +0000 (14:46 -0700)]
Add Microsoft.DiaSymReader.Native to SOS package (#383)

Add Microsoft.DiaSymReader.Native to SOS package

We no longer search for the diasymreader in the runtime host
directory, DAC path, etc. because for WER/Watson/!analyze needs
to work without assuming there is a .NET Core runtime to host
on the machine.

Update to version 1.1.35504 of clrmd. Fixes issues https://github.com/dotnet/diagnostics/issues/360
and "System.DllNotFoundException: Unable to load shared library 'libdl.so'..." failure.

Cleanup symbinder instance and module

5 years agoFix missing metadata problems (#370)
Mike McLaughlin [Tue, 2 Jul 2019 22:59:05 +0000 (15:59 -0700)]
Fix missing metadata problems (#370)

Fix missing metadata problems

The previous fix forced the metadata to always go through
the metadata locator callback interface. This fix the problem
when the metadata in the core dump isn't complete, but broke
getting metadata for user/app assemblies that only exist in
the core dump.

Needed to "fallback" to reading the core dump memory for the
metadata when the assembly can't be found or downloaded.

Cleaned up building the module list.

Add PublishPackages variable

5 years agoIf file exists, then overwrite it. (#374)
José Rivero [Mon, 1 Jul 2019 18:36:57 +0000 (11:36 -0700)]
If file exists, then overwrite it. (#374)

5 years agoAdd nettrace to gitignore (#373)
José Rivero [Sun, 30 Jun 2019 23:08:20 +0000 (16:08 -0700)]
Add nettrace to gitignore (#373)

5 years agoFor sos.u on a code address, pass in the code address to retrieve information about...
Koundinya Veluri [Sun, 30 Jun 2019 18:23:29 +0000 (11:23 -0700)]
For sos.u on a code address, pass in the code address to retrieve information about that code version (#369)

- In particular for the pointer to saved original code when using GCStress, which is specific to the code version
- Part of https://github.com/dotnet/coreclr/pull/25261
- Part of fix for https://github.com/dotnet/coreclr/issues/17646

5 years agoAvoid unnecessary allocation & better error message on file exists error (#371)
Sung Yoon Whang [Sun, 30 Jun 2019 04:51:05 +0000 (21:51 -0700)]
Avoid unnecessary allocation & better error message on file exists error (#371)

5 years agoUsing CancellationToken in dotnet-trace (#367)
Andrew Au [Sat, 29 Jun 2019 01:47:37 +0000 (18:47 -0700)]
Using CancellationToken in dotnet-trace (#367)

5 years agoRename Microsoft.Diagnostics.TestHelpers (#366)
Mike McLaughlin [Thu, 27 Jun 2019 19:59:46 +0000 (12:59 -0700)]
Rename Microsoft.Diagnostics.TestHelpers (#366)

5 years agodotnet-monitor: Use CommandHandler CancellationToken for SIGINT detection (#365)
Tom Deseyn [Thu, 27 Jun 2019 17:07:50 +0000 (19:07 +0200)]
dotnet-monitor: Use CommandHandler CancellationToken for SIGINT detection (#365)

5 years agoAdd _EFN_GetManagedThread for !analyze (#363)
Mike McLaughlin [Thu, 27 Jun 2019 04:44:30 +0000 (21:44 -0700)]
Add _EFN_GetManagedThread for !analyze (#363)

* Add _EFN_GetManagedThread for !analyze

Instead of reading "gCurrentThreadInfo.m_pThread" in the runtime.

* CR feedback

5 years agoAdd Ctrl-C handler for dotnet-counters (#364)
Sung Yoon Whang [Thu, 27 Jun 2019 04:36:46 +0000 (21:36 -0700)]
Add Ctrl-C handler for dotnet-counters (#364)

5 years agoCR feedback
Mike McLaughlin [Thu, 27 Jun 2019 00:46:50 +0000 (17:46 -0700)]
CR feedback

5 years agoAdd _EFN_GetManagedThread for !analyze
Mike McLaughlin [Wed, 26 Jun 2019 00:23:51 +0000 (17:23 -0700)]
Add _EFN_GetManagedThread for !analyze

Instead of reading "gCurrentThreadInfo.m_pThread" in the runtime.

5 years agoRemove OutputPath from EventPipe Collect command and update docs to reflect change...
John Salem [Tue, 25 Jun 2019 19:39:24 +0000 (12:39 -0700)]
Remove OutputPath from EventPipe Collect command and update docs to reflect change (#362)

5 years agoStandardize license header for all C# files (#361)
Andrew Au [Mon, 24 Jun 2019 19:14:41 +0000 (12:14 -0700)]
Standardize license header for all C# files (#361)

5 years agoStandardize on spelling (Diagnostic -> Diagnostics) - rename files (#358)
Andrew Au [Sat, 22 Jun 2019 06:01:50 +0000 (23:01 -0700)]
Standardize on spelling (Diagnostic -> Diagnostics) - rename files (#358)

5 years agoImplement SOS Hosting for Windows (dotnet-dump) (#352)
Mike McLaughlin [Sat, 22 Jun 2019 02:31:43 +0000 (19:31 -0700)]
Implement SOS Hosting for Windows (dotnet-dump) (#352)

* Implement SOS Hosting for Windows (dotnet-dump)

Defined all the dbgeng delegates needed to implement the subset of the
IDebugClient and related interfaces to host SOS on Windows. Also modified
various parts of the native SOS to be able to be hosted.

Changed the Ext* and DML* output functions to formatted the output before
sending it to IDebugControl::OutputVaList. There is no way to create a
cdecl reverse pinvoke. The "args" OutputVaList is ignored when hosted.

Changed from IDebugAdvanced3 to IDebugAdvanced.

Cleanup (remove globals, etc.) exts.cpp DebugExtensionNotify code to make sure
none of the globals initialized by the original code are used because these
DebugExtensionInitialize, DebugExtensionNotify and DebugExtensionUninitialize
are only called when sos is running under cdb/windbg.

Simplified ProvideLibraryInternal (used by clrstack -i only) to work on a hosted
sos. It originally was using dbgeng functions that can't be supported.

Added 2.1 version of DumpTieredNativeCodeAddressInfo (not used yet).

Enable dotnet-dump testing on Windows.

Delete useless createdump commmand.

Remove spurious error message in GetCoreClrDirectory.

Update to latest symstore: 1.0.0-dev-64131-02.

Update dummy native projects to 2019.

5 years agoStandardize on spelling (Diagnostic -> Diagnostics) (#357)
Andrew Au [Fri, 21 Jun 2019 23:45:07 +0000 (16:45 -0700)]
Standardize on spelling (Diagnostic -> Diagnostics) (#357)

5 years agoMerge pull request #353 from noahfalk/nettrace
Noah Falk [Fri, 21 Jun 2019 22:27:42 +0000 (15:27 -0700)]
Merge pull request #353 from noahfalk/nettrace

Update tools to use the newer NetTrace EventPipe format

5 years agoFix UNKNOWN types in dumpheap -stat (#355)
Mike McLaughlin [Fri, 21 Jun 2019 01:06:28 +0000 (18:06 -0700)]
Fix UNKNOWN types in dumpheap -stat (#355)

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

5 years agoUpdate tools to use the newer NetTrace EventPipe format
noahfalk [Thu, 20 Jun 2019 10:28:55 +0000 (03:28 -0700)]
Update tools to use the newer NetTrace EventPipe format

5 years agofixed width of trace recording to be constant (#349)
Marisa You [Wed, 19 Jun 2019 23:48:38 +0000 (16:48 -0700)]
fixed width of trace recording to be constant (#349)

Fixes #316

The trace recording is displayed in the UI as:
Recording trace 1.733 (MB)
This fix aligns the unit of the trace recording size (MB) so that it does not move left and right when the number of digits changes.

5 years agoChange default transport name to align with spec (#315)
John Salem [Wed, 19 Jun 2019 17:31:05 +0000 (10:31 -0700)]
Change default transport name to align with spec (#315)

resolves dotnet/coreclr#24859

5 years agoFix processId in docs (#351)
James Newton-King [Wed, 19 Jun 2019 09:50:05 +0000 (21:50 +1200)]
Fix processId in docs (#351)

5 years agoUpdate documentation (#345)
Mike McLaughlin [Tue, 18 Jun 2019 01:34:55 +0000 (18:34 -0700)]
Update documentation (#345)

Update documentation

6 years agoAdd active timer count to known list of counters (#342)
Sung Yoon Whang [Sun, 16 Jun 2019 22:35:36 +0000 (15:35 -0700)]
Add active timer count to known list of counters (#342)

6 years agoFix extension gallery arm support (#338)
Mike McLaughlin [Sat, 15 Jun 2019 01:12:14 +0000 (18:12 -0700)]
Fix extension gallery arm support (#338)

6 years agoUpdate to Preview 6 version: 1.0.4-preview6.19311.1 (#335)
Mike McLaughlin [Fri, 14 Jun 2019 19:57:28 +0000 (12:57 -0700)]
Update to Preview 6 version: 1.0.4-preview6.19311.1 (#335)

6 years agoReplace IMDInternalImport with IMetaDataImport (#329)
David Wrighton [Wed, 12 Jun 2019 16:57:51 +0000 (09:57 -0700)]
Replace IMDInternalImport with IMetaDataImport (#329)

* Convert all use of IMDInternal to IMetaDataImport

* Improve pretty printing of method tokens
- Print signature as well as just name
- Add minimal DumpIL testing to test suite

6 years agoFix dotnet-dump when running on preview 6 (#326)
Mike McLaughlin [Tue, 11 Jun 2019 20:59:10 +0000 (13:59 -0700)]
Fix dotnet-dump when running on preview 6 (#326)

Fix dotnet-dump when running on preview 6

When the 3.0 preview 6 runtime is the only one available, it causes
dotnet-dump to throw a missing method exception. This is because it
tries to load the wrong SOS.NETCore.dll assembly from the runtime
directory instead of the one that comes with dotnet-dump/SOS.

The workaround is to change the SOS.NETCore assembly version
to 4.8.0.x which is greater than the 4.7.x version of the
preview 6 runtime.

Fix scheduled build that only has 3.0.x installed

6 years agoClear out correct length for counter value (#320)
Sung Yoon Whang [Tue, 11 Jun 2019 04:45:16 +0000 (21:45 -0700)]
Clear out correct length for counter value  (#320)

6 years agoUpdate Documents (#323)
Mike McLaughlin [Tue, 11 Jun 2019 00:59:13 +0000 (17:59 -0700)]
Update Documents (#323)

Update documents

Remove Release notes on main README, add notes to dotnet-dump instructions, update coredump debugging instructions and add FAQ.

6 years agoConvert to latest arcade version (#319)
Mike McLaughlin [Tue, 11 Jun 2019 00:11:26 +0000 (17:11 -0700)]
Convert to latest arcade version (#319)

Convert to latest arcade version

Update signing step

Fix variable list definition

Enable microbuild

Add sdk version to global.json

Update dotnet-install.sh permissions.

6 years agoDo not print elevated processes' FileName (#312)
Sung Yoon Whang [Wed, 5 Jun 2019 23:41:15 +0000 (16:41 -0700)]
Do not print elevated processes' FileName (#312)

* Do not print path to the process if it is elevated

* Fix it for dotnet-trace too

* Change the display msg for elevated process

6 years agoUpdate dotnet-trace documentation (#310)
Sung Yoon Whang [Wed, 5 Jun 2019 23:00:35 +0000 (16:00 -0700)]
Update dotnet-trace documentation (#310)

* Adding a section on how to view the trace

* some more stuff

6 years agoAdd new counters to list (#309)
Sung Yoon Whang [Wed, 5 Jun 2019 18:46:03 +0000 (11:46 -0700)]
Add new counters to list (#309)

* Add new counters to list

* Fix typo / add unit to AllocRate

6 years agoOffer visual cues for monitor status (#301)
Sung Yoon Whang [Tue, 4 Jun 2019 22:58:44 +0000 (15:58 -0700)]
Offer visual cues for monitor status (#301)

* Offer visual cues for monitor status

* Offer visual cue when user specifies a nonexistent EventSource

* Change the initial message to something more helpful than 'Running'

6 years agoFix a case where we have a leftover pipe from a process that is not running anymore...
Sung Yoon Whang [Tue, 4 Jun 2019 21:48:55 +0000 (14:48 -0700)]
Fix a case where we have a leftover pipe from a process that is not running anymore (#308)

6 years agoMake sure we have the right exit code for dotnet-trace collect
Andrew Au [Mon, 3 Jun 2019 16:27:58 +0000 (09:27 -0700)]
Make sure we have the right exit code for dotnet-trace collect

6 years agoFix regression introduced by PR #299 (#302)
Sung Yoon Whang [Mon, 3 Jun 2019 05:17:08 +0000 (22:17 -0700)]
Fix regression introduced by PR #299 (#302)

6 years agoDo not display exception on graceful exit case (#300)
Sung Yoon Whang [Sun, 2 Jun 2019 23:49:07 +0000 (16:49 -0700)]
Do not display exception on graceful exit case (#300)

* Do not display exception on graceful exit case

* Use Debug.WriteLine instead of removing

6 years agoDisplay unknown EventSource's provider name properly (#299)
Sung Yoon Whang [Sun, 2 Jun 2019 23:17:51 +0000 (16:17 -0700)]
Display unknown EventSource's provider name properly (#299)

6 years agoImprove perf of `!dumpasync -tasks` (#294)
Stephen Toub [Fri, 31 May 2019 22:11:23 +0000 (18:11 -0400)]
Improve perf of `!dumpasync -tasks` (#294)

When the `-tasks` flag is set, we look at every object on the heap and walk its hierarchy to decide if it's a task or a task-derived type.  But we currently do that by comparing the name of every object against "System.Threading.Tasks.Task", which is very expensive.  This switches to comparing by module and type def.  On my machine, a `!dumpasync -tasks` command that previously took ~1 minute now takes ~30 seconds.

6 years agoImprove perf of `!threadpool -wi` (#295)
Stephen Toub [Fri, 31 May 2019 22:06:13 +0000 (18:06 -0400)]
Improve perf of `!threadpool -wi` (#295)

The -wi feature added recently walks every item on the heap looking for thread pool queues.  It currently does this by comparing object names, but it's much faster to compare module and type def.  On my machine on an ~1GB dump, this improved execution time ~20x, from 2:15 to 0:07.

6 years agoException in dotnet-counter does not crash the app
Andrew Au [Thu, 30 May 2019 18:52:30 +0000 (11:52 -0700)]
Exception in dotnet-counter does not crash the app

6 years agoMerge pull request #292 from dotnet/MattGal-patch-1
Matt Galbraith [Thu, 30 May 2019 20:58:02 +0000 (13:58 -0700)]
Merge pull request #292 from dotnet/MattGal-patch-1

Move CI build to Hosted Ubuntu 1604

6 years agoUpdate .vsts-dotnet-ci.yml
Juan Hoyos [Thu, 30 May 2019 20:14:26 +0000 (13:14 -0700)]
Update .vsts-dotnet-ci.yml

6 years agoChange queues for official builds
Juan Hoyos [Thu, 30 May 2019 20:12:48 +0000 (13:12 -0700)]
Change queues for official builds

6 years agoRemove demands on the agent OS
Juan Hoyos [Thu, 30 May 2019 20:04:37 +0000 (13:04 -0700)]
Remove demands on the agent OS

6 years agoMove CI build to Hosted Ubuntu 1604
Matt Galbraith [Thu, 30 May 2019 17:18:39 +0000 (10:18 -0700)]
Move CI build to Hosted Ubuntu 1604

6 years agoIpc spec update (#290)
John Salem [Thu, 30 May 2019 17:13:11 +0000 (10:13 -0700)]
Ipc spec update (#290)

* create section headers
* Add profiler and dump documentation
* change pipe name in spec to dotnet

6 years agoDo not swallow exception and stuck in case we have an exception thrown during tracing
Andrew Au [Thu, 30 May 2019 00:26:49 +0000 (17:26 -0700)]
Do not swallow exception and stuck in case we have an exception thrown during tracing

6 years agoMissing profile argument
Felipe Pessoto [Thu, 23 May 2019 13:35:45 +0000 (10:35 -0300)]
Missing profile argument

The providers help mention profile, but it is not in the docs.

I took the profile description from https://github.com/dotnet/diagnostics/blob/master/documentation/design-docs/dotnet-tools.md

But I'm not sure if we should keep the information in both places

It also refers to some profiles not available in the current release 1.0.3-preview5.19251.2. The only profile in this version is runtime-basic

6 years agoTwo changes to !dumpasync (#286)
Stephen Toub [Sun, 26 May 2019 02:15:01 +0000 (22:15 -0400)]
Two changes to !dumpasync (#286)

* Display state machine fields in DumpAsync for -stacks

Currently the DumpAsync -fields option just impacts whether the state machine fields are output for the top-level state machines.  We received feedback that it would be more expected for -fields to also cause the fields to be output for all state machines listed as part of continuation chains.  This does that.

* Improve performance of !dumpasync SOS command

A significant majority of the time spent in dumpasync was in getting the type name of each object in order to compare it to "AsyncStateMachineBox".  This switches to comparing by module and mdTypeDef.  On an ~1GB dump, the time to execute !dumpasync dropped from 43 to 11 seconds on my machine.

6 years agoAdd Diagnostic Ipc client (#271)
John Salem [Fri, 24 May 2019 04:10:11 +0000 (21:10 -0700)]
Add Diagnostic Ipc client (#271)

* * Add infrastructure for a new IPC client in line with the propsed spec
* update EventPipeClient to use new IpcClient
* Update DiagnosticHelpers to use IpcClient

* * fix typo
* change to use uint32 instead of INT for generate core dump command

* * remove dead code

* * bring error codes in line with the now checked0in spec

* Remove extra error code

* Rename Miscellaneous to Dump for command sets and Ids

* fix typing issue

* * update profiler attach to use IpcClient

* * Change errors to be int32 HRESULTS

* * remove unnecessary todo
* simplify size checking

* * add ASSERT that MAGIC is always the correct length

* * Fix using statement

6 years agoUpdate dotnet-counters link to docs (#281)
Felipe Pessoto [Thu, 23 May 2019 17:03:45 +0000 (14:03 -0300)]
Update dotnet-counters link to docs (#281)

6 years agoMerge pull request #274 from davmason/profiler_attach
David Mason [Thu, 23 May 2019 08:00:38 +0000 (01:00 -0700)]
Merge pull request #274 from davmason/profiler_attach

Add profiler attach message

6 years agoAdd comment about timeout
David Mason [Wed, 22 May 2019 20:16:55 +0000 (13:16 -0700)]
Add comment about timeout

6 years agoIPC protocol spec (#198)
John Salem [Wed, 22 May 2019 19:54:44 +0000 (12:54 -0700)]
IPC protocol spec (#198)

* Add initial draft of ipc protocol spec

* Update IPC spec to account for feedback:
* add clarity about what needs to be wrapped in a header
* add image representing communication flow
* flesh out packet headers

* fix image rendering

* Remove TODOs

* Rewrite overview and add transport description.

* * update spec to account for feedback
* formalize terminology
* update diagrams to account for new terminology
* update header size

* * Add notes on pipe and socket naming conventions

* * expand error section and define error codes
* simplify description of optional continuation
* clarify terminology w.r.t. Commands and Command specific things
* explicitly write out current set of command_sets and command_ids

* * update EventPipe payload example to be reality
* fix comments
* Update transport name with explicit sprintf codes

* * Document current workings of EventPipe Commands

* specify IpcHeader.magic as uint8_t instead of ambiguous char

* * increase detail of eventpipe commands
* expand on and streamline the error model
* remove hypotheticals
* correct bug in example messages

* * changes in response to feedback
* add notes about MacOS App Group case