Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mat-dev] Comparison queries

Now that Memory Analyzer 1.10 has been released I've been able to start on a further improvement.

Comparisons and the compare basket have been around for a while, but perhaps not used much.

I've worked on the following improvements:
  • comparing trees now gives a tree as a result - useful for dominator trees or paths to GC roots
  • keys can be filtered to remove object addresses or array indices - useful for comparing dominator trees
  • keys can be enhanced with resolved field values - useful for hash map entries
  • keys can be enhanced with a prefix field names generated from any fields in the dominator of the object which point directly to the dominated object
  • duplicate keys are handled better and an attempt is made to match them appropriately between snapshots
  • retained sizes are compared, and can give >=, <= or ~ (approximate) results when a difference is taken
  • the set operations (intersection etc.) available on the context menu can be changed from the menu if at least two input tables/trees are from the current snapshot
  • simple comparison query - runs a query on each snapshot and compares the results
  • leak hunter for two snapshots
    • generates dominator tree for each
    • compares the dominator trees
    • finds the biggest changes in retained sizes for the roots of the dominator tree
    • finds the accumulation point for those suspects
    • runs the standard leak hunter query for those objects
    • generate a report with delta retained sizes
    • shows the compared dominator tree
  • leak suspects query comparing two snapshots
    • compares
      • Heap Dump overview
      • System Properties
      • Thread Overview
      • Class Histogram
    • runs leak hunter using comparison of snapshots

If this might be useful to you please give the latest snapshot builds a try., particularly the Leak Identification > Compare Snapshots Leak Report as I don't know how well it works in practice.

I've not yet finished, so please add comments to the defects, or here.

Andrew Johnson

https://bugs.eclipse.org/bugs/show_bug.cgi?id=283778
https://bugs.eclipse.org/bugs/show_bug.cgi?id=298078
https://bugs.eclipse.org/bugs/show_bug.cgi?id=305152
https://bugs.eclipse.org/bugs/show_bug.cgi?id=305154
https://bugs.eclipse.org/bugs/show_bug.cgi?id=347648
https://bugs.eclipse.org/bugs/show_bug.cgi?id=560140







Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Back to the top