-
Notifications
You must be signed in to change notification settings - 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.c
should_record_sample()
calculation about when to take next samplesample_current_thread_stack_trace
withoutMonoContext *
because in interp we don't have itmono_wasm_instrument_method
to disable the instrumentation. Could be some callspec in the future.Fixes
mono_wasm_profiler_free_method
conditionep_session_free
use-after-free in STINTERP_PROFILER_RAISE
to not always create contextep_rt_wait_event_free
IP
on jiterpMonoProfilerCallContext
allocation feedbackconst
feedbackFlags
WASM_PERFTRACING
in rollup envDOTNET_WasmPerfInstrumentation
, opt in viaWasmPerfInstrumentation
MSBuild propertyMetricsSupport
by 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