Only subscribe to the runtime events for the process requested by the user#24
Only subscribe to the runtime events for the process requested by the user#24MokoSan wants to merge 3 commits intoMaoni0:mainfrom
Conversation
… user to help with Maoni0#23
|
cool! do you have a before/after comparison by doing this? of course the diff would depend on how many other processes are firing GC events. you could have a test running that just does temporary allocations that you are not monitoring, in which case you should see a dramatic reduction in memory allocation (committed bytes should show a smaller diff - you can get the GC committed in windbg - now !eeheap -gc shows committed). |
…sharm/RemoveRedundantRegistrations
|
Conducted the following experiment with and without the fix i.e. the bits from this pull request and found that this fix does actually reduce the overall GC committed heap size. Experiment Details
NOTE: I needed the fix from #26 to get the 2nd GCRealtimeMon working since there seems to be an issue where events aren't written out on the Console due to collisions in the session name. DataWithout Fix1st DumpGC Allocated Heap Size: Size: 0x5af7c8 (5961672) bytes. 2nd DumpGC Allocated Heap Size: Size: 0x5d17c8 (6100936) bytes. 3rd DumpGC Allocated Heap Size: Size: 0x5f17c8 (6232008) bytes. Observation: A monotonically sharp increase in the heap size over time. With Fix1st DumpGC Allocated Heap Size: Size: 0x53c198 (5489048) bytes. 2nd DumpGC Allocated Heap Size: Size: 0x564198 (5652888) bytes. 3rd DumpGC Allocated Heap Size: Size: 0x582198 (5775768) bytes. Observation: A slight increase of the heap size over time that eventually tapers off. ConclusionI think this PR should be good to merge if the experimentation is sound. Do let me know if more data is needed. |
|
thanks! this is avoid whatever allocations we are doing in |
To help with #23, only subscribe to GC events for the process requested by the user; we are currently subscribing to all processes' GC data, a majority of which we are not using.