Skip to content

[browser] EP testing #114232

Open
Open
@pavelsavara

Description

@pavelsavara

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')

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions