-
Notifications
You must be signed in to change notification settings - Fork 31
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
Support non interleaving multi-event profiling #107
Comments
I dont necessarily agree on skewing but this may be useful for other reasons. We have a ProfilingScheduler interface and default ContinuousProfilingScheduler implementation. If you want this scheduler to be in the library : There's another community submited scheduler SamplingProfilingScheduler which is disabled by default. It should go there, it preserve capabilities it currently has. Bear in mind it is experimental, we do not commit supporting it, it and may be changed or removed or broken in the future. |
indeed, it may also be useful to manage multi-event aspects like overhead. Btw, I think SamplingProfilingScheduler should definitely be supported, I think it is the most useful in real productions. |
@korniltsev why not merge the 2 schedulers? |
|
сс @Rperry2174 |
|
Concurrent multi-event collection can interfere each other and skew the results, for example, a bad case, where an app in steady state allocates and computes correspondingly with each other with respect to sampling config, threads performing tlab sampling may be captured by cpu profiler, skewing the flame graph.
A solution may be a fixed wall time window mechanism. Then, you can for example on a cpu-bound app sample cpu 1m then sample tlab 1m then sleep 3m. I may be able to help if you think its useful
The text was updated successfully, but these errors were encountered: