On 01/11/2017 07:29 AM, Sela, Guy wrote:
> If I'll have a heap dump, how can you find out what are the types of the 
> nodes that are saved there?
> This is an example of a histogram I took in a different run:
>    1:      32272719      774545256  
> org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder$ImmutableLeafNode

32M leaves

>    2:      24618033      590832792  
> org.opendaylight.yangtools.util.SharedSingletonMap$Unordered
>    3:      15800515      512288528  [Ljava.lang.Object;

That is a lot of plain Objects. Who is holding on to them?

>    4:      16921694      406120656  
> org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder$ImmutableContainerNode

17M containers

>    5:      15114335      362744040  
> org.opendaylight.yangtools.util.ImmutableOffsetMap$Unordered
>    6:       2565625      306451360  [C

2.5M Strings, averaging at ~50 characters. What are they?

>    7:       7655438      244974016  
> org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier$NodeIdentifierWithPredicates
>    8:       5640289      225611560  java.math.BigInteger

5M BigIntegers ... uint64s, I wonder what their cardinality is.

>    9:       7645644      183495456  
> org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapEntryNodeBuilder$ImmutableMapEntryNode
>   10:       7492069      179809656  
> org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableChoiceNodeBuilder$ImmutableChoiceNode

7.5M list entries and about the same number of choices.

yangtools.util maps are used in 4,7,9,10 so their number are kind of
expected.

> The types are already normalized to YANG Nodes instead of Flow,Interface,etc.
> So if I'll have an actual heap dump, how can I extract from that the real 
> entities?

Loading it up into YourKit is the best option I know of -- then you can
run duplicate object analysis and see what crops up.

Also inspecting the nodes will point to their model identities.

Bye,
Robert

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to