Uh oh!
There was an error while loading. Please reload this page.
[browser] single threaded diagnostic server - #111910
Conversation
Tagging subscribers to 'arch-wasm': @lewing |
pavelsavara
commented
Jan 28, 2025
@lateralusX please review this first step |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
# Conflicts: # src/native/eventpipe/CMakeLists.txt
lateralusX
left a comment
There was a problem hiding this comment.
Second pass on the EP code, mainly code structural comments as well as one idea around ep_rt_thread_create.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
lateralusX
left a comment
There was a problem hiding this comment.
Native Mono and EventPipe changes LGTM! Thanks!
pavelsavara
commented
Feb 14, 2025
To be merged after preview snap |
This is split from #110818 to make code review easier
Enabled by
<WasmPerfTracing>true</WasmPerfTracing>and also<MetricsSupport>and<EventSourceSupport>as necessary.Single thread
ep_rt_thread_createandep_rt_thread_mono_start_funcstreaming_loop_tickrefactored fromstreaming_threadserver_loop_tickfrom refactoredserver_threadmono_wasm_ds_execto process on tick on event loopmono_schedule_ds_jobwill register callback into queue for aboveep_rt_wait_event_waitFEATURE_PERFTRACING_DISABLE_THREADS->PERFTRACING_DISABLE_THREADSds_ipc_stream_factory_get_next_available_streamonly polls once and never blocksSampling
sampling_threadbecause we can't do "stop-the-world and scan other threads"ep_rt_sample_profiler_enabledandep_rt_sample_profiler_disabledep_rt_mono_sampling_provider_component_initMONO_PROFILER_CALL_INSTRUMENTATION_ENTERFeaturePerfTracingFeaturePerfTracingSamplingto enable/disable this if necessaryWeb socket
FEATURE_PERFTRACING_PAL_WSds-ipc-pal-websocket.candds-ipc-pal-websocket.hthey just forward to JavaScriptds_rt_websocket_create,ds_rt_websocket_send,ds_rt_websocket_poll,ds_rt_websocket_recv,ds_rt_websocket_closeOther
diagnostics_tracing-static.ain in-tree buildsMicrosoft.NETCore.App.Runtime.Mono.perftrace.**RID**cleanupSystemNative_GetCpuUtilizationNext PRs
MINT_SDB_SEQ_POINTor similarOut of scope
contributes to #76316