I may not understand how the invocation tree in the CPU profiler works. There are lower-level nodes in the tree that show methods that are never called by the methods in higher-level nodes. For example,
com.domain.MyClass.myMethod() 100%
-->com.domain.MyClass2.myMethod2() 50%
-->-->com.domain.MyClass3.myMethod3() 25%
myMethod3() is never called from within myMethod2(), not even indirectly. It's in a completely different part of the application. What's going on here?
Also, what is the exact meaning of the percentages?
And what does it mean when a blue arrow is outlined instead of filled in?
Invocation tree is suspect
-
- Posts: 1626
- Joined: Tue Aug 10, 2004 7:52 pm
Outlined arrow means a part of filtered calls. Profiler collapses all intermediate filtered calls to singe one and mark it by outlibed arrow.
Most probable there are some "filtered" calls between com.domain.MyClass2.myMethod2() and com.domain.MyClass3.myMethod3()
To edit filters please run "Settings | Filters..." action. More about filters you can learn from "Filters" chapter of bundled documentation.
Most probable there are some "filtered" calls between com.domain.MyClass2.myMethod2() and com.domain.MyClass3.myMethod3()
To edit filters please run "Settings | Filters..." action. More about filters you can learn from "Filters" chapter of bundled documentation.
percents (in CPU views) mean how much time of parent method was consumed by child method (in %). Actually the same as absolute values.Also, what is the exact meaning of the percentages?