[webkit-changes] [WebKit/WebKit] 4d5223: Treat performance.mark like console.timeStamp in W...

Ryosuke Niwa noreply at github.com
Fri Jun 23 16:32:58 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 4d52235be538b0fb8ab33a0d80f1d7b18799f8df
      https://github.com/WebKit/WebKit/commit/4d52235be538b0fb8ab33a0d80f1d7b18799f8df
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2023-06-23 (Fri, 23 Jun 2023)

  Changed paths:
    M LayoutTests/inspector/timeline/resources/timeline-event-utilities.js
    A LayoutTests/inspector/timeline/timeline-event-performance-mark-expected.txt
    A LayoutTests/inspector/timeline/timeline-event-performance-mark.html
    M Source/WTF/wtf/Stopwatch.h
    M Source/WebCore/inspector/InspectorInstrumentation.cpp
    M Source/WebCore/inspector/InspectorInstrumentation.h
    M Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp
    M Source/WebCore/inspector/agents/InspectorTimelineAgent.h
    M Source/WebCore/page/Performance.cpp
    M Source/WebCore/page/Performance.h
    M Source/WebCore/page/PerformanceMarkOptions.h
    M Source/WebCore/page/PerformanceUserTiming.cpp
    M Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js

  Log Message:
  -----------
  Treat performance.mark like console.timeStamp in Web Inspector's timeline
https://bugs.webkit.org/show_bug.cgi?id=258385

Reviewed by Patrick Angle.

Treat performance.mark like console.timeStamp and generate a timeline marker (vertical line).
This will help investigate various aspects of the Speedometer 3 benchmark.

Since performance.now can be called at anytime even when inspector's stopwatch is paused,
this patch also introduces Stopwatch::fromMonotonicTime to convert monotonic time to time
used by the stopwatch.

Also expose markers via a public accessor in TimelineRecording.

* LayoutTests/inspector/timeline/resources/timeline-event-utilities.js:
(TestPage.registerInitializer.InspectorTest.TimelineEvent.captureTimelineWithMarker): Added.
* LayoutTests/inspector/timeline/timeline-event-performance-mark-expected.txt: Added.
* LayoutTests/inspector/timeline/timeline-event-performance-mark.html: Added.

* Source/WTF/wtf/Stopwatch.h:
(WTF::Stopwatch::stop):
(WTF::Stopwatch::fromMonotonicTime): Added.

* Source/WebCore/inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::performanceMarkImpl): Added.

* Source/WebCore/inspector/InspectorInstrumentation.h: Added.
(WebCore::InspectorInstrumentation::performanceMark):

* Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::timestampFromMonotonicTime): Added.
(WebCore::InspectorTimelineAgent::didPerformanceMark): Added.
(WebCore::InspectorTimelineAgent::appendRecord): Now optionally takes startTime.

* Source/WebCore/inspector/agents/InspectorTimelineAgent.h:

* Source/WebCore/page/Performance.cpp:
(WebCore::Performance::monotonicTimeFromRelativeTime const): Added.

* Source/WebCore/page/Performance.h:

* Source/WebCore/page/PerformanceMarkOptions.h:

* Source/WebCore/page/PerformanceUserTiming.cpp:
(WebCore::PerformanceUserTiming::mark):

* Source/WebInspectorUI/UserInterface/Models/TimelineRecording.js:
(WI.TimelineRecording):
(WI.TimelineRecording.prototype.exportData):
(WI.TimelineRecording.prototype.get markers):
(WI.TimelineRecording.prototype.reset):
(WI.TimelineRecording.prototype.addEventMarker):

Canonical link: https://commits.webkit.org/265491@main




More information about the webkit-changes mailing list