Requested features [message #636034] |
Fri, 29 October 2010 02:35  |
Eclipse User |
|
|
|
Thanks for a wonderful program! I hope I can contribute some day.
Especially the leak-suspect analysis is very good and often finds the most important leaks.
But very very small leaks is that grows big over time/usages in a server environment is hard to find.. (the leaks is small compared to static memory that should be in the heap)
I have a suggestion to a tool that could be very good to pinpoint the small leaks (and maybe built into MAT):
1. Take two dump-files and create a new file with only the difference but in the normal dump-format. Dump B Dump A => Dump C
2. Run your the leak-suspect analysis on the differences (Dump C)
Do anybody know about a tool that can create a dumpfile with only the differens between two dumps?
Why not make a analyze-function that can take an arbitary number of dumps and make an analyze of that and find the leaks. Its hard work to analyze it manually.
|
|
|
Re: Requested features [message #636112 is a reply to message #636034] |
Fri, 29 October 2010 07:02   |
Eclipse User |
|
|
|
Hi,
Thanks for the nice feedback!
I wanted to start with a comment on your statement about contributing to the project. We, the developers in these project are very open for any kind of contributions (at least I think so, and I tried to go for such openness).
And here by contributions I don't mean just code, but all kind of feedback, critique, ideas, bug reports and bug patches, and so on.
When it comes to contributing code, I know that our current API documentation is no as good as it should be. But we are trying to improve in the area - we are adding some Wiki pages (still under construction) which should serve like a developer guide to writing extensions to MAT. I'll post the links once they are in a better shape.
Now about your concrete suggestion - the problem with heap dumps is that we in general cannot recognize one and the same object in two dumps. The objects do not have stable IDs, they are identified by the addresses, which change when a GC occurs. So what we can compare are some aggregations (say on class level).
I have to look into more details into your idea and see if this can fit somehow. If you think it is useful, despite the limitation I just mentioned - we'll discuss it.
So far for now from me. I'll spend some more time looking at this and comment again.
Regards,
Krum
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.06751 seconds