Open
Description
dev tools profiler
- dev tools only, manual test
- AOT, interp, jiterp
- callspec and instrumentation
event pipe profiler
- AOT, interp, jiterp
- callspec to filter visible methods
- manual testing: dev tools - download, open in VS, find expected calls
- manual testing: with
ds-router
,dotnet-trace
, open in VS, find expected calls - WBT:
- use JS API to get promise of .nettrace bytes
- upload the file via HTTP
- parse and validate that trace contains expected method call
gc dump
- manual testing: dev tools - download, open in VS, find expected classes
- manual testing: with
ds-router
,dotnet-gcdump collect
,dotnet-gcdump convert
, open in VS, find expected classes - WBT:
- use JS API to get promise of .nettrace bytes
- upload the file via HTTP
- parse and validate that dump contains expected classes
counters trace
- manual testing: dev tools - download, open in VS, find expected counters, values
- manual testing: with
ds-router
,dotnet-counters collect
, open in VS, find expected counters, values - WBT:
- use JS API to get promise of .nettrace bytes
- upload the file via HTTP
- parse and validate that dump contains expected counters, values
performance
- manually test all above on some real life app, rather than empty template
usability
- provide feedback about ergonomy and future enhancements
notes
.nettrace
messages could be parsed and validated using Microsoft.Diagnostics.NETCore.Client
See IpcMessage
dotnet-dsrouter server-websocket -ws ws://127.0.0.1:8088/diagnostics
globalThis.getDotnetRuntime(0).collectGcDump()
globalThis.getDotnetRuntime(0).collectPerfCounters({durationSeconds: 60})
globalThis.getDotnetRuntime(0).collectCpuSamples({durationSeconds: 60})
globalThis.getDotnetRuntime(0).connectDSRouter ('ws://127.0.0.1:8088/diagnostics')