Bug 105851

Summary: Web Inspector: show raster tasks on Timeline
Product: WebKit Reporter: Andrey Kosyakov <caseq>
Component: Web Inspector (Deprecated)Assignee: Andrey Kosyakov <caseq>
Status: RESOLVED FIXED    
Severity: Normal CC: apavlov, keishi, loislo, pfeldman, pmuellr, vsevik, web-inspector-bugs, webkit-ews, yurys
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 105796    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
pfeldman: review+
Patch
none
EWS run
webkit-ews: commit-queue-
EWS run none

Andrey Kosyakov
Reported 2012-12-29 02:09:27 PST
Add processing of trace events emitted during paint and deferred paint of a layer and display deferred paint (and potential nested events, such as image decode/resize) on the timeline.
Attachments
Patch (10.06 KB, patch)
2012-12-29 02:12 PST, Andrey Kosyakov
no flags
Patch (12.63 KB, patch)
2012-12-29 07:43 PST, Andrey Kosyakov
no flags
Patch (13.86 KB, patch)
2013-01-14 09:11 PST, Andrey Kosyakov
no flags
Patch (17.57 KB, patch)
2013-02-01 04:51 PST, Andrey Kosyakov
pfeldman: review+
Patch (17.40 KB, patch)
2013-02-06 09:26 PST, Andrey Kosyakov
no flags
EWS run (26.63 KB, patch)
2013-02-26 08:49 PST, Andrey Kosyakov
webkit-ews: commit-queue-
EWS run (26.59 KB, patch)
2013-02-26 09:16 PST, Andrey Kosyakov
no flags
Andrey Kosyakov
Comment 1 2012-12-29 02:12:40 PST
Pavel Feldman
Comment 2 2012-12-29 04:42:34 PST
Comment on attachment 180926 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=180926&action=review > Source/WebCore/inspector/InspectorTimelineAgent.cpp:281 > + m_traceEventProcessor->willPaint(); It would be great if there was unidirectional dependency in the instrumentation (i.e. processor -> timeline).
Andrey Kosyakov
Comment 3 2012-12-29 07:43:35 PST
Pavel Feldman
Comment 4 2013-01-14 06:48:05 PST
Comment on attachment 180938 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=180938&action=review r- for introducing page pointer and not using constants. Otherwise looks cryptic and good. > Source/WebCore/inspector/InspectorInstrumentation.cpp:508 > + TRACE_EVENT_INSTANT1("webkit", "Instrumentation::Paint", "pageId", frame ? reinterpret_cast<unsigned long long>(frame->page()) : 0); These need constants. Is there anything we could reuse? > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:179 > +TimelineTraceEventProcessor::TimelineTraceEventProcessor(InspectorTimelineAgent* timelineAgent, InspectorClient *client, Page* page) timeline agent has page agent already. > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:182 > + , m_pageId(reinterpret_cast<unsigned long long>(page)) page can be recreated. > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:191 > + m_handlersByType.set("Instrumentation::Paint", EventTypeEntry(&TimelineTraceEventProcessor::onPaint)); Lets have constants for these in InspectorInstrumentation.
Andrey Kosyakov
Comment 5 2013-01-14 09:11:38 PST
Andrey Kosyakov
Comment 6 2013-01-14 09:14:48 PST
(In reply to comment #4) > > These need constants. Is there anything we could reuse? Added constants to InspectorInstrumentation.{h,cpp}. I don't think we should be re-using existing trace events, as ours are different in that their names are meaningful to other modules. > > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:179 > > +TimelineTraceEventProcessor::TimelineTraceEventProcessor(InspectorTimelineAgent* timelineAgent, InspectorClient *client, Page* page) > > timeline agent has page agent already. Exposed InspectorTimelineAgent::page() > > > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:182 > > + , m_pageId(reinterpret_cast<unsigned long long>(page)) > > page can be recreated. Now within the lifetime of TimelineTraceEventProcessor -- we'll kill it upon stopping the record. > > Source/WebCore/inspector/TimelineTraceEventProcessor.cpp:191 > > + m_handlersByType.set("Instrumentation::Paint", EventTypeEntry(&TimelineTraceEventProcessor::onPaint)); > > Lets have constants for these in InspectorInstrumentation. done!
Andrey Kosyakov
Comment 7 2013-02-01 04:51:23 PST
Andrey Kosyakov
Comment 8 2013-02-06 09:26:45 PST
Andrey Kosyakov
Comment 9 2013-02-26 05:14:40 PST
Andrey Kosyakov
Comment 10 2013-02-26 08:49:17 PST
Reopening to attach new patch.
Andrey Kosyakov
Comment 11 2013-02-26 08:49:21 PST
Early Warning System Bot
Comment 12 2013-02-26 09:03:30 PST
Early Warning System Bot
Comment 13 2013-02-26 09:08:26 PST
Andrey Kosyakov
Comment 14 2013-02-26 09:16:23 PST
Andrey Kosyakov
Comment 15 2013-02-27 00:39:15 PST
Note You need to log in before you can comment on or make changes to this bug.