WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
105851
Web Inspector: show raster tasks on Timeline
https://bugs.webkit.org/show_bug.cgi?id=105851
Summary
Web Inspector: show raster tasks on Timeline
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
Details
Formatted Diff
Diff
Patch
(12.63 KB, patch)
2012-12-29 07:43 PST
,
Andrey Kosyakov
no flags
Details
Formatted Diff
Diff
Patch
(13.86 KB, patch)
2013-01-14 09:11 PST
,
Andrey Kosyakov
no flags
Details
Formatted Diff
Diff
Patch
(17.57 KB, patch)
2013-02-01 04:51 PST
,
Andrey Kosyakov
pfeldman
: review+
Details
Formatted Diff
Diff
Patch
(17.40 KB, patch)
2013-02-06 09:26 PST
,
Andrey Kosyakov
no flags
Details
Formatted Diff
Diff
EWS run
(26.63 KB, patch)
2013-02-26 08:49 PST
,
Andrey Kosyakov
webkit-ews
: commit-queue-
Details
Formatted Diff
Diff
EWS run
(26.59 KB, patch)
2013-02-26 09:16 PST
,
Andrey Kosyakov
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Andrey Kosyakov
Comment 1
2012-12-29 02:12:40 PST
Created
attachment 180926
[details]
Patch
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
Created
attachment 180938
[details]
Patch
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
Created
attachment 182589
[details]
Patch
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
Created
attachment 186012
[details]
Patch
Andrey Kosyakov
Comment 8
2013-02-06 09:26:45 PST
Created
attachment 186871
[details]
Patch
Andrey Kosyakov
Comment 9
2013-02-26 05:14:40 PST
Committed
r144044
: <
http://trac.webkit.org/changeset/144044
>
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
Created
attachment 190297
[details]
EWS run
Early Warning System Bot
Comment 12
2013-02-26 09:03:30 PST
Comment on
attachment 190297
[details]
EWS run
Attachment 190297
[details]
did not pass qt-ews (qt): Output:
http://webkit-commit-queue.appspot.com/results/16768384
Early Warning System Bot
Comment 13
2013-02-26 09:08:26 PST
Comment on
attachment 190297
[details]
EWS run
Attachment 190297
[details]
did not pass qt-wk2-ews (qt): Output:
http://webkit-commit-queue.appspot.com/results/16781163
Andrey Kosyakov
Comment 14
2013-02-26 09:16:23 PST
Created
attachment 190300
[details]
EWS run
Andrey Kosyakov
Comment 15
2013-02-27 00:39:15 PST
Committed
r144154
: <
http://trac.webkit.org/changeset/144154
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug