-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[browser] single threaded diagnostic server #111910
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
Conversation
|
Tagging subscribers to 'arch-wasm': @lewing |
|
@lateralusX please review this first step |
# Conflicts: # src/native/eventpipe/CMakeLists.txt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Second pass on the EP code, mainly code structural comments as well as one idea around ep_rt_thread_create.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Native Mono and EventPipe changes LGTM! Thanks!
|
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