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
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
Noah Falk [Wed, 10 Jul 2019 06:06:56 +0000 (23:06 -0700)]
Add known issues to dotnet-trace instructions
Mike McLaughlin [Tue, 9 Jul 2019 19:22:23 +0000 (12:22 -0700)]
Update CLRMD to version 1.1.35902 (#388)
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.
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
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
José Rivero [Mon, 1 Jul 2019 18:36:57 +0000 (11:36 -0700)]
If file exists, then overwrite it. (#374)
José Rivero [Sun, 30 Jun 2019 23:08:20 +0000 (16:08 -0700)]
Add nettrace to gitignore (#373)
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
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)
Andrew Au [Sat, 29 Jun 2019 01:47:37 +0000 (18:47 -0700)]
Using CancellationToken in dotnet-trace (#367)
Mike McLaughlin [Thu, 27 Jun 2019 19:59:46 +0000 (12:59 -0700)]
Rename Microsoft.Diagnostics.TestHelpers (#366)
Tom Deseyn [Thu, 27 Jun 2019 17:07:50 +0000 (19:07 +0200)]
dotnet-monitor: Use CommandHandler CancellationToken for SIGINT detection (#365)
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
Sung Yoon Whang [Thu, 27 Jun 2019 04:36:46 +0000 (21:36 -0700)]
Add Ctrl-C handler for dotnet-counters (#364)
Mike McLaughlin [Thu, 27 Jun 2019 00:46:50 +0000 (17:46 -0700)]
CR feedback
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.
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)
Andrew Au [Mon, 24 Jun 2019 19:14:41 +0000 (12:14 -0700)]
Standardize license header for all C# files (#361)
Andrew Au [Sat, 22 Jun 2019 06:01:50 +0000 (23:01 -0700)]
Standardize on spelling (Diagnostic -> Diagnostics) - rename files (#358)
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.
Andrew Au [Fri, 21 Jun 2019 23:45:07 +0000 (16:45 -0700)]
Standardize on spelling (Diagnostic -> Diagnostics) (#357)
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
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
noahfalk [Thu, 20 Jun 2019 10:28:55 +0000 (03:28 -0700)]
Update tools to use the newer NetTrace EventPipe format
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.
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
James Newton-King [Wed, 19 Jun 2019 09:50:05 +0000 (21:50 +1200)]
Fix processId in docs (#351)
Mike McLaughlin [Tue, 18 Jun 2019 01:34:55 +0000 (18:34 -0700)]
Update documentation (#345)
Update documentation
Sung Yoon Whang [Sun, 16 Jun 2019 22:35:36 +0000 (15:35 -0700)]
Add active timer count to known list of counters (#342)
Mike McLaughlin [Sat, 15 Jun 2019 01:12:14 +0000 (18:12 -0700)]
Fix extension gallery arm support (#338)
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)
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
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
Sung Yoon Whang [Tue, 11 Jun 2019 04:45:16 +0000 (21:45 -0700)]
Clear out correct length for counter value (#320)
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.
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.
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
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
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
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'
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)
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
Sung Yoon Whang [Mon, 3 Jun 2019 05:17:08 +0000 (22:17 -0700)]
Fix regression introduced by PR #299 (#302)
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
Sung Yoon Whang [Sun, 2 Jun 2019 23:17:51 +0000 (16:17 -0700)]
Display unknown EventSource's provider name properly (#299)
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.
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.
Andrew Au [Thu, 30 May 2019 18:52:30 +0000 (11:52 -0700)]
Exception in dotnet-counter does not crash the app
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
Juan Hoyos [Thu, 30 May 2019 20:14:26 +0000 (13:14 -0700)]
Update .vsts-dotnet-ci.yml
Juan Hoyos [Thu, 30 May 2019 20:12:48 +0000 (13:12 -0700)]
Change queues for official builds
Juan Hoyos [Thu, 30 May 2019 20:04:37 +0000 (13:04 -0700)]
Remove demands on the agent OS
Matt Galbraith [Thu, 30 May 2019 17:18:39 +0000 (10:18 -0700)]
Move CI build to Hosted Ubuntu 1604
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
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
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
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.
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
Felipe Pessoto [Thu, 23 May 2019 17:03:45 +0000 (14:03 -0300)]
Update dotnet-counters link to docs (#281)
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
David Mason [Wed, 22 May 2019 20:16:55 +0000 (13:16 -0700)]
Add comment about timeout
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
David Mason [Wed, 22 May 2019 10:29:46 +0000 (03:29 -0700)]
Update message ID
Mike McLaughlin [Wed, 22 May 2019 00:36:17 +0000 (17:36 -0700)]
Windows arm32 and Linux arm/arm64 support (#276)
Fix issue: https://github.com/dotnet/diagnostics/issues/242
Update command include files from coreclr to fix arm build problems.
Add warning headers to common includes: issue https://github.com/dotnet/diagnostics/issues/38
Added calling dbgeng DAC IOCTL fallback so ".cordll" works.
Added host runtime directory to diasymreader search.
Remove installing sudo on 18.04 docker images (docker-init.sh).
Mike McLaughlin [Tue, 21 May 2019 03:03:45 +0000 (20:03 -0700)]
Change the dotnet-dump setthread command to take the thread index (#275)
Mike McLaughlin [Mon, 20 May 2019 22:08:23 +0000 (15:08 -0700)]
Update System.CommandLine for dotnet-dump (#270)
Update System.CommandLine for dotnet-dump
Update System.CommandLine to 0.2.0-alpha.19254.1.
Fixes issues: https://github.com/dotnet/diagnostics/issues/127 https://github.com/dotnet/diagnostics/issues/234
Remove the separate older System.CommandLine version for the Repl. Replaced
the depreciated MethodBinder usage with explicit reflection invoke.
Added the CommandInvoke and HelpInvoke attributes to mark the entry
points into the command class.
Changed the command invoke from async (Task InvokeAsync) to synchronous
(void Invoke) because SOS and CLRMD are basically single threaded.
Allow the screen width for the repl console to change dynamically.
David Mason [Thu, 16 May 2019 22:12:40 +0000 (15:12 -0700)]
add profiler attach message
Sung Yoon Whang [Fri, 17 May 2019 00:27:24 +0000 (17:27 -0700)]
Add list-processes command to dotnet-counters (#243)
* Add list-processes command
* addressing some pr feedback related to system.commandline
Mike McLaughlin [Thu, 16 May 2019 00:10:53 +0000 (17:10 -0700)]
Add alpine/MUSL SOS build/packaging (#264)
Build on alpine docker container.
Add new MUSL SOS binaries to dotnet-dump/dotnet-sos.
Add new "linux-musl-x64" rid to SOS installer and
dotnet-dump.
Skip the "clrstack -i" tests that fail on alpine and 3.0.x.
Jan Vorlicek [Wed, 15 May 2019 17:55:18 +0000 (10:55 -0700)]
Enable build for arm / arm64 (#268)
Enable build for arm / arm64
Mario Hewardt [Wed, 15 May 2019 17:20:20 +0000 (10:20 -0700)]
Merge pull request #269 from MarioHewardt/master
fixed hung app markdown
Mario Hewardt [Wed, 15 May 2019 17:17:20 +0000 (10:17 -0700)]
fixed hung app markdown
Mario Hewardt [Wed, 15 May 2019 17:14:24 +0000 (10:14 -0700)]
Merge pull request #267 from MarioHewardt/master
Added new hang scenario
Mario Hewardt [Wed, 15 May 2019 00:44:41 +0000 (17:44 -0700)]
Added new hang scenario
Noah Falk [Fri, 10 May 2019 22:02:01 +0000 (15:02 -0700)]
Merge pull request #262 from MarioHewardt/master
New tutorial scenario
Mario Hewardt [Fri, 10 May 2019 18:36:17 +0000 (11:36 -0700)]
pr feedback
Sung Yoon Whang [Fri, 10 May 2019 00:24:20 +0000 (17:24 -0700)]
Filter event counter payloads using CounterType payload (#261)
Mario Hewardt [Thu, 9 May 2019 21:16:55 +0000 (14:16 -0700)]
added intermittent mem spike endpoint
Mario Hewardt [Thu, 9 May 2019 20:46:43 +0000 (13:46 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 20:31:24 +0000 (13:31 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 18:48:25 +0000 (11:48 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 18:46:13 +0000 (11:46 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 18:44:35 +0000 (11:44 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 18:36:04 +0000 (11:36 -0700)]
Update intermittent_memory_spike.md
Juan Hoyos [Thu, 9 May 2019 16:51:40 +0000 (09:51 -0700)]
Make SOS packing dependencies invisible in VS's solution viewer (#259)
Mario Hewardt [Thu, 9 May 2019 16:13:35 +0000 (09:13 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 16:00:57 +0000 (09:00 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 15:55:06 +0000 (08:55 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 15:54:43 +0000 (08:54 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 15:53:29 +0000 (08:53 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Thu, 9 May 2019 15:45:03 +0000 (08:45 -0700)]
Update intermittent_memory_spike.md
Mario Hewardt [Wed, 8 May 2019 23:58:13 +0000 (16:58 -0700)]
Update intermittent_memory_spike.md
Mike McLaughlin [Wed, 8 May 2019 21:45:33 +0000 (14:45 -0700)]
Change the GenerateCoreDump protocol to use UTF16 dump file name (#258)
Mike McLaughlin [Wed, 8 May 2019 16:41:34 +0000 (09:41 -0700)]
Download and register DAC with CLRMD (#248)
Issue https://github.com/dotnet/diagnostics/issues/158
Add SOSInitializeByHost SOS module entry so the SOSHost
code can pass the temp dir created, DAC module path downloaded for
clrmd and the symbol store enabled flag.
Removed ISOSHostServices and replaced initializing the SOSNetCoreCallbacks
initialization as part of the call to SOSInitializeByHost.
Added the "clrmodules" command as a test of a pure CLRMD command and
as place to add the module version requested by some customers.
Catch the DllNotFoundException exception and add "try installing libc6-dev"
to exception message and documentation to work around Microsoft stretch docker
image problems.
Issue: https://github.com/dotnet/diagnostics/issues/201
Mike McLaughlin [Wed, 8 May 2019 07:47:28 +0000 (00:47 -0700)]
Generate core dump diagnostic server command (#257)
Generate core dump diagnostic server command
Add DiagnosticHelpers class with the GenerateCoreDump API.
Change dotnet-dump collect on Linux to use this new API.
Update dotnet-dump collect doc. Remove sudo.
Sung Yoon Whang [Tue, 7 May 2019 21:58:42 +0000 (14:58 -0700)]
Make dotnet-counters exit gracefully on runtime shutdown
Mario Hewardt [Wed, 8 May 2019 00:08:29 +0000 (17:08 -0700)]
Update README.md
Mario Hewardt [Wed, 8 May 2019 00:07:52 +0000 (17:07 -0700)]
Update README.md