Thanks for your explanation, It is really amazing that JS profiles can be 
explored per frame rendering interval or JS event in Timeline panel, both 
browser and site developer will benefit from more details happened in browser 
in stream.
For JS CPU-profile panel, I think a selectable region that allow exploring any 
part of aggregated data is a helpful, that is a different view from breakdown 
details. And it is also common used among profilers,  for example VTune 
IMG<http://software.intel.com/sites/default/files/Vtunegr1.png>, Code Analyst 
IMG<http://developer.amd.com/wordpress/media/2012/10/CA-HC-hub-full.jpeg>. 
Without that, I even have to stare at a clock carefully to click "Start", and 
same way to click "Stop", but that data collected two times is still not 
comparable. It's a real need I think, unless CPU profile panel will be removed 
in future.
For the implementation, I guess some element from timeline panel can be  
refactored and reused, very appreciate if I can help work out it. Of course ,if 
this small improvement is accepted first :)

Regards
Pan




From: [email protected] [mailto:[email protected]] On Behalf Of Yury Semikhatsky
Sent: Monday, March 04, 2013 4:32 PM
To: Deng, Pan
Cc: [email protected]; [email protected]; [email protected]; 
[email protected]; [email protected]; [email protected]; 
[email protected]; [email protected]; [email protected]; 
[email protected]; [email protected]; [email protected]; 
[email protected]; [email protected]; Dai, Chunyang; Xian, Yuqiang
Subject: Re: Proposal: Add a region-selectable timeline in Web Inspector CPU 
profile panel.

We are planning to allow narrowing CPU profile down to a single GPU frame 
rendering interval and to allow viewing profiles for any top level JS event 
recorded on the Timeline. We don't want to introduce second timeline on the 
Profiles panel as it may confuse users, instead we'd like to reuse existing 
Timeline. Note that current CPU profile contains only aggregated data without 
any connection to the timeline except the profiling begin/end timestamps and to 
be able to view profile for an arbitrary interval we will probably need to 
switch from the current profile tree representation to a stream of profiling 
events.

Yury

On Mon, Mar 4, 2013 at 11:43 AM, Deng, Pan 
<[email protected]<mailto:[email protected]>> wrote:
Hi, webkit-dev and v8-dev

Cpu profile panel in Web Inspector is really a great tool to collect and 
explore JS CPU profiles, it allow user to collect profiles by click "Start" and 
"Stop" button, and then present them with explore tools such as top-down, 
bottom-up, filter etc. Figure 1[1] shows cpu profile panel.

Figure 1, Current JS CPU profile panel

Here, I would like to propose add a region-selectable timeline in this panel, 
the snapshot of my prototype showed in figure 2. By this feature, user can 
choose a region in timeline, and explore the profile that happen in that time 
region.


Figure2 Proposed JS CPU profile Panel(with selectable timeline)

The add on feature is useful for use cases:

1)      With the selectable timeline, users can focus on the part they care, 
and ignore the redundant part.

2)      Select different region to know the hotspot at different time.

3)      Understand the raw difference by comparing two related timeline.

To achieve that, as my investigation, general changes including:
1: web inspector: add a timeline in cpu profile panel, present JS CPU ticks and 
receive user's region-select operation.
2: JS engine: cpu-profile part, provide JS CPU ticks, and bottom-up/top-down 
tree which is built according to user's time-region selection.

Appreciate your comments :)

Regards
Pan

[1] https://developers.google.com/chrome-developer-tools/docs/cpu-profiling


-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to