visualvm icon indicating copy to clipboard operation
visualvm copied to clipboard

"Reverse Call" childrens "Total Time" is wrong

Open jukzi opened this issue 3 years ago • 4 comments

The "Total Time" in the "Reverse Call" View does show the "Self Time" instead of the "Total Time". Happens for children in the View only, while the main nodes do show the correct "Total Time". Since the Self Time is mostly 0 for every children that value is not helpfull for finding the most influencing Caller. image

Please either fix the childrens value to show "Total Time" or add additional columns for "Self Time" and "Self Time (CPU)" in the Reverse Call. Workaround: order by Hits and use "Find in hotspots" for every children to get the Total Time.

jukzi avatar Sep 20 '21 07:09 jukzi

Can you please provide the CPU snapshot or steps to reproduce?

thurka avatar Sep 22 '21 12:09 thurka

I can see it on every sampling. For example you can download this, and concentrate on the "main" thread: https://bugs.eclipse.org/bugs/attachment.cgi?id=287188

image

expand "org.eclipse.swt.custom.StyledTextRenderer.getTextLayout" in Reverse calls

jukzi avatar Sep 22 '21 12:09 jukzi

Above snapshot: GH-346-snapshot_console_logging.nps.zip

thurka avatar Sep 22 '21 13:09 thurka

Not sure if this would be considered the same bug or not, but I have this same issue with snapshots generated by the "Sampler" feature (while it looks like the above snapshot probably came from the "Profiler"). The main difference is that the "Total Time" and "Total Time (CPU)" columns in the "Reverse Calls" section of the "Sampler" snapshot all simply report values of 0.0 ms for everything beyond the "root" level of the tree (as opposed to reporting non-zero, inaccurate values at some levels as shown in the above screenshot).

Would be great if these columns could display accurate values; not having that info can make certain classes of bottlenecks quite difficult to identify.

BonusLord avatar Apr 12 '22 21:04 BonusLord