-
Couldn't load subscription status.
- Fork 5.2k
[browser] EventPipe - CPU sampling - single thread #113758
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
c1b4ef2 to
556f3b9
Compare
be32979 to
d9161ed
Compare
- add LMF to profiler in interp and jiterp
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.
Mainly looked at the native code. Overall, it looks good, some comments are not actionable in this PR and I might convert them into issues later, but wanted to include them since this PR surface the underlying issues, other comments are more questions or checking assumptions and some are actually actionable :)
- session->refcount, ep_session_dec_ref, ep_session_inc_ref - conditional default_profiler_sample_rate_in_nanoseconds and use of ep_sample_profiler_get_sampling_rate() - don't register for MONO_PROFILER_CALL_INSTRUMENTATION_LEAVE and MONO_PROFILER_CALL_INSTRUMENTATION_TAIL_CALL - inlining feedback for method_enter, method_samplepoint, method_exc_leave - LMF feedback for mono_jiterp_prof_enter, mono_jiterp_prof_samplepoint, mono_jiterp_prof_leave
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.
Changes to native runtime code LGTM!
|
/ba-g CI timeouts |
single-threaded sampling in EP -
ep-rt-mono-runtime-provider.cshould_record_sample()calculation about when to take next samplesample_current_thread_stack_tracewithoutMonoContext *because in interp we don't have itmono_wasm_instrument_methodto disable the instrumentation. Could be some callspec in the future.Fixes
mono_wasm_profiler_free_methodconditionep_session_freeuse-after-free in STINTERP_PROFILER_RAISEto not always create contextep_rt_wait_event_freeIPon jiterpMonoProfilerCallContextallocation feedbackconstfeedbackFlags
WASM_PERFTRACINGin rollup envDOTNET_WasmPerfInstrumentation, opt in viaWasmPerfInstrumentationMSBuild propertyMetricsSupportby default for browserTesting: I'm doing manual testing with next PR which contains the JavaScript client. That's lot of TypeScript which would take attention away from C details in this PR. And so I split this PR as separate step.
Contributes to #76316
On top of #112352