This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 48527 - Wrong percentual values in Profiling results
Summary: Wrong percentual values in Profiling results
Status: CLOSED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 4.x
Hardware: All All
: P4 blocker (vote)
Assignee: Jiri Sedlacek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-06 11:26 UTC by Jiri Sedlacek
Modified: 2007-02-20 18:21 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jiri Sedlacek 2004-09-06 11:26:51 UTC
When browsing CPU Profile results (Java 2D demo), 
both Class level view and Package level view give 
strange percentual results (root element 100%, 
first child node > 100%).
Comment 1 mishadmitriev 2004-09-09 00:38:54 UTC
Fixed, the updated code will become available in Milestone 2 release.
Comment 2 Jiri Sedlacek 2004-09-10 14:17:17 UTC
Now the child nodes values don't exceed the parent's value, but the 
sum of childs values can be significantly less than parent's value.

Example: When browsing the CCT in package-view mode, some inner node 
reports 0.8% while sum of its children values is only 0.4%. The same 
problem ocurrs also in method-view and class-view mode.

Maybe it is caused by rounding small values to zero. If there is a 
lot of these roundings on nodes at some tree level, their parent's 
value is significantly affected.
Comment 3 Jiri Sedlacek 2004-09-13 10:37:26 UTC
Not an issue.

The percentage for a method is the ratio of its "inclusive" time to 
the total time. Inclusive time is a sum of the method's "self" time 
(how much this method itself was executing) and its callees' 
inclusive times. If the method's self time is high, then the sum of 
its children's percentages would certainly be less than the total 
method's percentage.

Example:

main() - 100% - 10 ms self - 20 ms inclusive
  foo() - 25% - 5 ms self - 5 ms inclusive
  bar() - 25% - 5 ms self - 5 ms inclusive

In this case main() itself takes 50% of execution time (because its 
self time is 10ms), and its children take 25% each. But the 
percentage that we report in JFluid is for the method's inclusive 
time.
Comment 4 iformanek 2004-09-14 12:02:54 UTC
This is still unclear - from the user perspective, a drilldown to a
level below is uderstood as a "full content of the node" and if the
sum of subnodes is not 100%, it is confusing - the tree UI is not
intuitively communicating the fact that a node has a value on its own
in addition to the sum of values of subnodes.

I'd suggest to try alternative approaches, e.g. creating a subnode
"self execution" with the data of the method itself.

A nice sideffect of that would be that the user would see, the correct
order of where most of the time was spent, including the method's self
time (i.e. the self time would be in the right position with regards
to the submethods called).

Comment 5 mishadmitriev 2004-09-24 16:08:29 UTC
I don't think this is an urgent issue at all, so I am changing its 
priority to P4.
Comment 6 iformanek 2004-10-20 17:52:50 UTC
Let's try to address this as part of move to use TreeTable
Comment 7 iformanek 2004-10-21 15:37:28 UTC
Planned for M3
Comment 8 Jiri Sedlacek 2004-10-26 10:27:38 UTC
Fixed for M3. Self time is now visualized as a separate child node.
Comment 9 ehucka 2006-10-09 12:09:21 UTC
Verification of old issues.
Comment 10 Alexander Kouznetsov 2007-02-12 22:56:00 UTC
Closing old issues.
Comment 11 Alexander Kouznetsov 2007-02-20 18:21:44 UTC
Reverting to the original Target Milestone value changed by mistake. Sorry for
inconvenience.