Self Samples, Self Cost and Self Time columns are missing data in performance profiler Call tree view.




Developer Tools: Performance Tools (Profiler/Timeline)
2 years ago
5 months ago


(Reporter: Jukka Jylänki, Unassigned)


Firefox Tracking Flags

(Not tracked)


(Whiteboard: [btpp-fix-later])


(1 attachment)



2 years ago
Created attachment 8734064 [details]

1. Visit
2. Run a performance profile.
3. Open the "Call Tree" view.
4. Expand some of the frames bottom up.

Observed: All non-leaf nodes have zero in their "Self Samples", "Self Cost", and "Self Time" columns.

See the attached screenshot with cells in light red background.
If none of those frames were ever sampled as the youngest stack, then they *should* have self = 0.
(In reply to Nick Fitzgerald [:fitzgen] [⏰PDT; UTC-7] from comment #1)
> If none of those frames were ever sampled as the youngest stack, then they
> *should* have self = 0.

I'm looking at triaging this bug, this looks like expected behavior, correct?
Flags: needinfo?(nfitzgerald)

Comment 3

2 years ago
Nick, you are probably right. Coming back to this, trying to understand my source of confusion, I did a small test:

My test application is as follows:

which is a requestAnimationFrame-based loop, where each tick calls in a linear fashion functions tick() -> foo() -> bar(), where foo() works for 50 milliseconds, and bar() works for 200 milliseconds (4x the time of foo()).

Here's the compiled page:

Looking at the profiler in top-down mode shows as expected:

tick to foo to bar, where bar takes up 4x time of foo. However looking at the bottom up view in this page is a bit odd, not sure if this is intended?

The function bar() does have 31 self samples, and the function foo() does have 11 self samples, but they don't show up in the non-leaf nodes, but only when those functions are presented as leaf nodes. Nick, how does this look to you?
Yeah that does look funky -- there should be some self time there.
Flags: needinfo?(nfitzgerald)
Priority: -- → P2
Whiteboard: [btpp-fix-later]
You need to log in before you can comment on or make changes to this bug.