Issue metadata
Sign in to add a comment
|
CPU Profile no longer showing native functions
Reported by
ja...@krypton.io,
Jan 25 2017
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36 Steps to reproduce the problem: 1. Enable 'Show native functions in JS Profile' in DevTools 2. CPU Profile code with expensive native functions (ie JSON.parse) What is the expected behavior? Expect to see time spent in native functions What went wrong? I noticed some of our cpu profiles that recently expensive functions like JSON.parse 200MB strings no longer showed up in the profile. I think the time went in the generic 'program' bucket. I tried to create a minimal repo just running a simple JSON.parse in a loop. Results: https://cl.ly/363N3f2S1B1f/Image%202017-01-25%20at%209.21.04%20AM.png Unlike my other attempts it shows parse, but the time allocation doesn't come anywhere close to what the analysis shows against the source code which makes me think again the time is getting put into the 'program' bucket. https://cl.ly/2D2R43253R1w/Image%202017-01-25%20at%209.24.44%20AM.png JSBin: http://output.jsbin.com/vidumabama/1 Did this work before? Yes Chrome version: 55.0.2883.95 Channel: stable OS Version: OS X 10.10.5 Flash Version: Shockwave Flash 24.0 r0 At first I thought maybe this was a Node using V8 issue, because I originally discovered it while profiling our code on Node 7 where the native functions appear to have complete disappeared. Its possible this is a Node on V8 issue, but my the jsbin repo doesn't exactly look right either.
,
Jan 30 2017
,
Feb 21 2017
jason@: Could you please check the same on the latest stable(56.0.2924.87) or the latest canary(58.0.3018.0) and confirm if the issue is still seen with the attached JSBin. With the attached JSBin, clicking on 'Do work' the values increment by one on the latest canary(58.0.3018.0) and the latest stable(56.0.2924.87) on Mac OS 10.12.2.
,
Feb 21 2017
I still see no native JSON.parse in the JSBin using chrome latest 56.0.2924.87 (64-bit) (MAC) This is the top of the profile: 2019.2 ms 2019.2 ms (idle) 1912.0 ms58.48 % 1912.7 ms58.50 % document.getElementById.addEventListenerwanonemiji:21 1209.8 ms37.00 % 1209.8 ms37.00 % (garbage collector) 143.8 ms4.40 % 143.8 ms4.40 % (program)
,
Feb 21 2017
The profiler is being redesigned/reworked. Try it out in Chrome 58 canary which you can install separately. Unlike the old JS CPU profiler, which apparently might/will disappear soon, it correctly measures JsonParse in case you enable experiments "V8 runtime (see below). It's timeline-based but you can switch to Bottom-Up sub-panel to see the detailed breakdown. When nothing is selected in the flamechart, it displays the overall measurement results. *** Enabling native V8 runtime functions in timeline performance profiler: 1. go to chrome://flags/#enable-devtools-experiments and enable the flag 2. restart Chrome 3. go to devtools, experiments 4. tap Shift key six times to show hidden experiments (on Windows OS you may see a system prompt after 5th tap: close it and do the sixth) 5. enable "V8 Runtime Call Stats on Timeline" 6. make sure the good old "Show native functions in JS profile" is also enabled in devtools settings (the first sub-panel)
,
Mar 1 2017
Thank you for providing feedback. removing "Needs-Feedback" label.
,
Mar 2 2017
jason@ could you please respond to the comment #5 and let us know your observations.
,
Mar 2 2017
The images you show are exactly what I want. Unfortunately I can't get the new profiler to work on Version 58.0.3027.3 canary (64-bit). The profile never loads and then attempts to clear and take another fail.
,
Mar 2 2017
Thank you for providing more feedback. Adding requester "kkaluri@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 3 2017
Tested this issue on Mac 10.12.3 with chrome canary #58.0.3028.3 Followed the steps mentioned in the comment #5 with provided JSBIN url in comment #0. Observed the CPU profile with native functions, attaching the screen-cast for reference. jason@ could you please look into it and re-try the same scenario on clean profile with no apps and extensions and let us know your observations. Thank You...
,
Mar 14 2017
Gentle ping!! jason@, Could you please check the issue on latest Canary-59.0.3041.0 & update the thread as per comment#10. Thank you.
,
Mar 14 2017
,
Mar 15 2017
I still don't see what you are seeing. Version 59.0.3042.0 canary (64-bit). Setup: https://cl.ly/2y1u071h3Q1X https://cl.ly/0n2y3T0K2b3B https://cl.ly/0w3T1c1R3d3k Result: It is interesting that it shows some other native V8 runtime lines like Parse/Compile, but not JSONParse https://cl.ly/0D2c030d2j0i
,
Mar 15 2017
#13, I forgot to mention that you need to enable "Show all events on Timeline" in the devtools - settings - experiments panel. You can explore other hidden experiments as well, don't be shy :-)
,
Mar 15 2017
@woxxom: this issue is reported against CPU profiler, not Timeline. @jason, thank you for your report, please disregard the Timeline topics in the scope of this issue. @woxxom: please do not recommend using "Show all events on Timeline" or enabling devtools experiments. Those are potentially harmful and one should not use them without a strong need.
,
Mar 15 2017
> [...] devtools experiments [...] are potentially harmful Everything in the world is potentially harmful. Or do you mean something specific about this particular experiment I advised to enable? >and one should not use them without a strong need How would one measure the "strongness" of need? I find these experiments useful. And I'm not the only one.
,
Oct 31
Bulk closing low-priority issues with no activity. Please re-file and refer to the closed issue if it's essential to fix. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by ligim...@chromium.org
, Jan 25 2017