Thursday, November 11, 2010

Extending the Eclipse Memory Analyzer

I usally don't post links here but I always wanted to describe here how to extend the Eclipse Memory Analyzer. Since there's now a Slide Deck available that describes briefly how it can be done at
http://www.slideshare.net/AJohnson1/extending-eclipse-memory-analyzer it's not that urgent anymore to post a description here ;-)


I believe there's a huge potential in extending MAT for specific use cases, such as Android, Jruby, Scala etc.

14 comments:

  1. We use MAT at Motorola in our product. We made extensions to make the workflow easier with the Android plugins. Also, we added a filter so messages that aren't relevant to your app don't affect the results. It's a great feature but I'm afraid that most users don't understand the output well enough to take full advantage of what it's reporting.

    ReplyDelete
  2. Hi Eric,
    Thanks for leaving a message here!
    Are you saying that MAT is used/included in Moto devstudio?
    I wasn't aware oft this, but of course I'm excited :-)

    You are right, the standard MAT reports were developed for huge (gigabytes of memory) enterprise applications and are not necessarily useful for the much smaller Android applications.

    Features that immediately:
    Support dalvik natively or at least get more information into MAT, such as which objects are shared, or how big some native objects are (Bitmaps)

    Support specific android queries.
    I believe certain typical memory leaks could be detected automatically and since android heap dumps are small, one could automatically check them for typical issues, during a continuous integration process.

    The UI could certainly be improved from a usabilty point of view.

    Regards,
    Markus

    ReplyDelete
  3. Hi Markus,

    Yes, we bundle MAT and have since our March release. The dev team suggested it and did some magick with OQL. We made the workflow a bit less confusing to the casual user, but it was amazingly painless to integrate. Perhaps this a good topic for an Eclipsecon talk. If you want to chat about it, shoot me an email to my motorola.com address. (ericc@)

    ReplyDelete
  4. Nice one. Actually when we doing programming we never think about these kind of memory issues thanks for publishing

    ReplyDelete
  5. Sun Java Certification (Newbie)
    http://career-assessments.blogspot.com/2008/01/sun-java-certifications.html
    SCJA/SCJP/SCJD/SCWCD/SCMA/SCEA… Aspirants
    http://career-assessments.blogspot.com/2008/01/sun-java-certifications-aspirants.html
    Free Cisco eBooks – Download
    http://career-assessments.blogspot.com/2008/01/cisco-certifications-aspirants.html
    Looking for Cisco Certification
    http://career-assessments.blogspot.com/2008/01/cisco-certifications-newbies.html
    Important Networking Information
    http://ccnahelpguides.blogspot.com

    ReplyDelete
  6. Why don't you continue this site with good posts. Really like to read your some posts

    ReplyDelete
  7. Great post on how to extend the Eclipse Memory Analyzer. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. Thanks for sharing the information with us.

    ReplyDelete
  8. I see a lot of potential for scripted use of heap analysis in CI and testing. In those cases it would be convenient to be able to run a list of queries and compare the results with predetermined thresholds. However, I don't see any indication that anyone is doing this, nor do I know how to run a script of queries using MAT in a batch command. Pointers?

    ReplyDelete
  9. Hi Joe,
    Check http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00150.html
    Hope that helps.
    Regards,
    Markus

    ReplyDelete
  10. Thanks! That was helpful, and Jevgeni pointed me to the stripped-down MAT they created for their command line diagnostic tool:

    bitbucket.org/ekabanov/mat

    ReplyDelete
  11. Hi Joe,
    Thanks as well!
    I wasn't aware of this project.
    Regards,
    Markus

    ReplyDelete
  12. I see great potential for use in clinical trials in business analysis and testing. In these cases, it is useful to run the query list, and then with a specified threshold value for the result of the comparison. However, I do not know how to run a script since pad query I sign any was running, it will not be displayed. Pointer?

    ReplyDelete
  13. I see great potential for use in the analysis of CI scenario and lots of tests. In such cases, it would be desirable to examine the list and compare the results with all thresholds. However, I see no sign that anyone do this, or how to execute a query using the software script MAT team. Pointers?

    ReplyDelete
  14. I see great potential for use in the analysis of CI scenario and lots of tests. In such cases, it would be desirable to examine the list and compare the results with all thresholds. However, I see no sign that anyone do this, or how to execute a query using the software script MAT team. Pointers?

    ReplyDelete