-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[wasm-ep] Implement DiagnosticServer and startup sessions for WebAssembly #72482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 70 commits
Commits
Show all changes
88 commits
Select commit
Hold shift + click to select a range
e73537f
[wasm] Enable the tracing component if threading is supported
lambdageek 8c3360a
WIP: add a way to specify EP sessions in the MonoConfig
lambdageek 6334ee7
Add a mechanism to copy startup configs into the runtime and session
lambdageek 4897241
WIP: C side startup provider copying
lambdageek 43d6ec8
WIP checkpoint. Do more from JS
lambdageek b232adb
checkpoint: starting a session at startup works
lambdageek 3d22fe1
WIP: checkpoint add a controller and a webworker for DS
lambdageek ee53f05
WIP checkpoint EventPipeIPCSession class skeleton
lambdageek 6ddb829
WIP checkpoint: runtime crashes; but WS from JS works
lambdageek 5c4aa81
WIP: diagnostic server
lambdageek dfcc613
XXX PrintfDebuggingHacks
lambdageek 0daa0e0
WIP some bits of the websocket worker
lambdageek 377a50a
WIP some notes on diagnostics and JS workers
lambdageek 4a17d5d
fix eslint
lambdageek fd8df98
debug printfs etc
lambdageek f235f55
WIP: start moving the diagnostic server to a JS pthread
lambdageek 431e2c6
WIP: move things around
lambdageek 563b31a
cleanup
lambdageek 5e999a3
notes
lambdageek 2906e1e
[diagnostic_server] wasm-specific fn_table
lambdageek 6c249f0
[wasm-ep] disable DS connect ports in C, too
lambdageek 567484c
asyncify finalize_startup; make 1 diagnostics init function
lambdageek 199cc80
(not implemented) set browser-eventpipe sample to start a DS server
lambdageek c3e7fe1
ping in the DS server (not functional yet)
lambdageek e64e539
Start diagnostic server pthread
lambdageek 00f73ba
WIP try to start the server
lambdageek f803c3c
WIP diagnostic server server
lambdageek 58851b4
Add a mock WebSocket connection to simulate the remote end
lambdageek c497c59
cleanup diagnostics.ts
lambdageek 74d8443
wasm-mt: use a PThreadSelf struct instead of a raw MessagePort
lambdageek 9ce7348
Move all the EP and diagnostic server modules to one directory
lambdageek e8fd671
Refactor; remove dead code; rationalize controller
lambdageek e8aace4
WIP more server pthread impl
lambdageek 54e618b
WIP: start adding queue from streaming thread to DS thread
lambdageek c1c4c86
[wasm] Incremental build and rollup warnings cleanups
lambdageek 2cca7f0
WIP: work on wiring up DS protocol commands (mock); resume hack
lambdageek 0609be7
WIP: set up a WasmIpcStream, create EP sessions from DS
lambdageek 9e00d8b
WIP: starting to stream works; needs PTHREAD_POOL_SIZE bump
lambdageek 50e035c
cleanup browser-eventpipe sample
lambdageek 69d0ca7
refactor to simplify and cleanup; rm duplicate code
lambdageek 032e41e
call mono_wasm_event_pipe_early_startup_callback from event_pipe init
lambdageek 637f88a
if diagnostics server isn't enabled, don't try to initialize it
lambdageek 33c7d39
WIP: start parsing binary commands
lambdageek 7c2d7a1
WIP: start wiring up binary protocol parsing to the websocket
lambdageek e015940
WIP: Can parse a CollectTracing2 command and attempt to create a
lambdageek 182872c
[wasm-ep] use the new PromiseController<T>
lambdageek 0e7a6ba
get back to the server loop quicker by queueing the parsing in the mi…
lambdageek 6ef49c3
update mock for binary ADVR_V1 message
lambdageek 76abc4d
sample: don't suspend, and use a mock url
lambdageek 32dbdd9
use better values for parse results
lambdageek c417200
parse a few more binary protocol commands
lambdageek c3c9a25
wasm_ipc_stream: wire up close command
lambdageek 07c0691
Send proper OK messages in replies to binary protocol commands
lambdageek ab5e247
(testing) turn off the file session for now
lambdageek bde9669
TODO: handle WS connection failures
lambdageek c4b8cc1
remove em_asm(console.log); simplify wasm EP init
lambdageek 051e257
remove debug output
lambdageek c75ee2c
remove debug output in startup
lambdageek bca82f0
cleanup wasm ipc stream impl
lambdageek 83e4d29
put diagnostics mocks behind a const flag
lambdageek 7f95626
don't build wasm-specific DS if threads are disabled
lambdageek 033b0c4
refactor and cleanup
lambdageek 0d1eefe
help treeshaking
lambdageek be703f2
update DS design notes
lambdageek 7a63e7e
remove more printfs
lambdageek e5d1838
use PromiseController in more places
lambdageek d92d45f
remove more console.debug in startup
lambdageek 26751d6
Merge remote-tracking branch 'origin/main' into wasm-ep-on-startup
lambdageek 530fa1c
fix Windows build
lambdageek ca2f204
add MONO_WASM prefix to console logging outputs
lambdageek d1d088a
fix sample logic when startup session is disabled
lambdageek e6979c1
improve debug output for DS server
lambdageek 0bf7c0b
bugfix: don't confuse buf_addr for the value stored in it
lambdageek b3676b5
slight refactor of EventPipeSocketConnection and more logging
lambdageek 2d22094
review feedback
lambdageek 88ef693
Merge remote-tracking branch 'origin/main' into wasm-ep-on-startup
lambdageek b8b2148
merge fixup
lambdageek 0de9719
fix bug in queue_push_sync main thread detection
lambdageek 17d12e8
fix typo
lambdageek 6abe463
Merge remote-tracking branch 'origin/main' into wasm-ep-on-startup
lambdageek d2f0acd
merge fixup
lambdageek 2e135e7
fix rollup warning when making the crypto worker
lambdageek 7da9d41
add MONO_WASM: prefix to logging
lambdageek f4219a6
make diagnostic server mocking friendlier
lambdageek 18e199a
disable mocking in the sample project by default
lambdageek 4bdbbfa
Merge remote-tracking branch 'origin/main' into wasm-ep-on-startup
lambdageek cbd4691
fixup after merge
lambdageek 2fe9a3e
review feedback
lambdageek File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.