Add continuous collection of profiles in java profiler#730
Add continuous collection of profiles in java profiler#730marcin-ol wants to merge 22 commits intointel:masterfrom
Conversation
|
Several things need addressing (and the solution is underway):
(these are no longer needed, handled in async-profiler and in gProfiler, respectively). |
|
Java profiling is now truly continuous thanks to async-profiler timeout recycle functionality: |
|
Last commit got pushed too early. Adjustment is correct in principle, but needs to take multiple profilers into account. |
|
Output from profiler in continuous mode is now equivalent to output produced by profiler on master. Frame counts now cover only the snapshot window. |
Jongy
left a comment
There was a problem hiding this comment.
Please merge master & update async-profiler to the latest revision used in master, I'll get to reviewing this soon.
Done. |
|
Added |
|
Also, adjusting for time skew is not needed. gProfiler does it automatically, when merging collected stacks from runtime profilers with system profiler. |
|
One remaining task:
|
|
Implemented smarter error handling in async-profiler with |
Add more accurate collection of java application profiles using async-profiler's dump command.
Description
This PR changes the way that async-profiler is invoked.
From now on gprofiler starts ap once and periodically issues dump command to retrieve the collapsed profiles.
Related Issue
#569
Motivation and Context
More accurate profiling and better performance due to having async-profiler loaded in process.
How Has This Been Tested?
Whole collection of java tests in repository was executed against this change.
Checklist: