visualvm
visualvm copied to clipboard
Why has the "compare to another heap dump" feature disappeared ?
One of the useful feature of VisualVM is the possibility to compare two head dumps to analyze memory leak issues. But in the new release 1.4, this feature seems not to be present anymore. The new release has a great heap explorer (Heap Viewer) and it should be nice to use it to explore heap dumps comparaison. Is it normal or do I miss something ?
Thanks for your feedback! You're right, currently the new Heap Viewer can't compare two heap dumps. This feature wasn't ready for 1.4, we'll add it later.
Thanks for reply. Does already exist a alpha/beta version that I could use/test ?
Unfortunately this feature isn't available for testing yet. Please stay tuned for the upcoming release(s).
OK.
Hope that will come very quickly as VisualVM is a great tool and the new Heap Viewer is far much better in the 1.4 version and linked to the compare feature, it will definitively be a memory leak killer !
Thanks! Reopening the issue to keep track of returning back the possibility to compare two heap dumps.
The initial implementation of comparing two heap dumps is available for testing in master. We'll appreciate any feedback on this feature.
Hi Jiri,
Thanks a lot for your work !!
I've tried the new version of visualvm with comparing feature. Again thanks to add it ! I'm surprised when comparing 2 heap dumps with the old version of the tool and your version, results are not equal. This is quite strange; some entries are missing in the beta version.
Here is what it looks like:
With old version:
[image: Inline image 3]
With beta version:
[image: Inline image 2]
The "byte[]" entry which stands on the first line in the beta version, is only on line 5 in the beta version...
Do you plan to be able to explorer items (to see instances of each new objects)? This helps a lot finding memory leaks.
Thanks, Pierre
On Thu, Feb 8, 2018 at 12:11 PM, Jiri Sedlacek [email protected] wrote:
The initial implementation of comparing two heap dumps is available for testing in master. We'll appreciate any feedback on this feature.
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/oracle/visualvm/issues/57#issuecomment-364080008, or mute the thread https://github.com/notifications/unsubscribe-auth/AiJlmaGjZolDKiNhTdnAbLgX-0YuRlIXks5tStZpgaJpZM4RtAke .
Unfortunately I don't see the images so I can't comment on the differences.
Regarding exploring new objects - the .hprof format doesn't contain the information required for identifying individual instances, we can't recognize the newly created objects.
Here are links to images:
Old version (with SDK) https://ibb.co/cVvNLc
Beta version: https://ibb.co/iPrU0c
On Fri, Feb 9, 2018 at 4:22 PM, Jiri Sedlacek [email protected] wrote:
Unfortunately I don't see the images so I can't comment on the differences.
Regarding exploring new objects - the .hprof format doesn't contain the information required for identifying individual instances, we can't recognize the newly created objects.
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/oracle/visualvm/issues/57#issuecomment-364463814, or mute the thread https://github.com/notifications/unsubscribe-auth/AiJlmcZOjzrDoJ0JzrEetMjeepWj3-Gtks5tTGK4gaJpZM4RtAke .
I'm unable to reproduce the missing entries on my side using various heap dumps. Could you please doublecheck you don't have any filter set in the comparison tab?
In case you're still seeing the difference, could you by any chance share (any) heap dumps reproducing the problem or describe steps to create them? Thanks!
I'm sorry but the heap dumps were deleted :-( (I don't know how...). I tried to reproduce the problem by taking some dumps but I didn't success until now. If I see a difference again, I will keep you in touch.
Regarding exploring new objects, the old version did a "Show in Instances view" which allow us to explorer the instances. Once you showed the instances, is it possible to identify the newly created objects?
The "Show in Instances View" action in the old version displayed all instances of the selected class as recorded in the first (opened) heap dump. This might be misinterpreted as that the instances are somehow related to the comparison with the other dump.
The fact is that there are no unique identificators for instances stored in a .hprof heap dump. This means that there's no way to reliably identify the same instance in two heap dumps, or to decide if an instance is present in one heap dump and not present in another heap dump.
Various heuristics may be used to make assumptions on instances identity between two heap dumps, but none of them will work reliably until the .hprof format changes and provides stable instance identificators which won't change among successive heap dumps.
any plans for making this feature available again soon..?
Comparing two heapdumps is available, see the comments above. Just load a heap dump, switch to Objects view and invoke the "Compare with another heap dump..." action.
That "Compare with another heap dump..." feature is hard to find. i found it here: