Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(265)

Unified Diff: LayoutTests/inspector/tracing/worker-js-profile.html

Issue 724013003: DevTools: Connect worker cpu profiles to worker tracing threads. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Addressing comments. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/inspector/tracing/worker-js-profile.html
diff --git a/LayoutTests/inspector/tracing/worker-events.html b/LayoutTests/inspector/tracing/worker-js-profile.html
similarity index 57%
copy from LayoutTests/inspector/tracing/worker-events.html
copy to LayoutTests/inspector/tracing/worker-js-profile.html
index aea4430c27e93e89edcfdbd7d44682faede97c1d..49891759a52c288b3c7f6d7e8bde221e7434b6bc 100644
--- a/LayoutTests/inspector/tracing/worker-events.html
+++ b/LayoutTests/inspector/tracing/worker-js-profile.html
@@ -28,6 +28,7 @@ function startWorkerAndRunTest()
function startSecondWorker(onActionComplete)
{
+ // FIXME: add a payload to the worker to make it produce a JSFrame.
worker2 = new Worker("resources/worker.js");
worker2.postMessage("");
worker2.onmessage = function(event)
@@ -39,30 +40,30 @@ function startSecondWorker(onActionComplete)
function test()
{
- InspectorTest.invokeWithTracing("startSecondWorker", processTracingEvents);
+ InspectorTest.invokeWithTracing("startSecondWorker", processTracingEvents,
+ "disabled-by-default-devtools.timeline.stack", true);
- var workerMetadataEventCount = 0;
+ var seenFunctions = new Set();
function processTracingEvents()
{
- InspectorTest.tracingModel().sortedProcesses().forEach(function(process) {
- process.sortedThreads().forEach(function(thread) {
- thread.events().forEach(processEvent);
- });
- });
- InspectorTest.assertEquals(2, workerMetadataEventCount);
+ InspectorTest.addResult("Main thread");
+ InspectorTest.tracingTimelineModel()._mainThreadEvents.forEach(processEvent);
+ var threads = InspectorTest.tracingTimelineModel()._virtualThreads;
+ for (var i = 0; i < threads.length; ++i) {
+ InspectorTest.addResult(threads[i].name);
+ threads[i].events.forEach(processEvent);
+ }
+ InspectorTest.assertTrue(seenFunctions.has("startSecondWorker"));
+ InspectorTest.assertTrue(seenFunctions.has("worker2.onmessage"));
InspectorTest.completeTest();
}
function processEvent(event)
{
- if (event.category !== WebInspector.TracingModel.DevToolsMetadataEventCategory || event.name !== WebInspector.TracingModel.DevToolsMetadataEvent.TracingSessionIdForWorker)
+ if (event.name !== WebInspector.TimelineModel.RecordType.JSFrame)
return;
-
- ++workerMetadataEventCount;
- InspectorTest.assertEquals(InspectorTest.tracingModel().sessionId(), event.args["data"]["sessionId"]);
- InspectorTest.addResult("Got DevTools worker metadata event(" + workerMetadataEventCount + "): " + event.name);
+ seenFunctions.add(event.args.data.functionName);
}
-
}
</script>
@@ -70,7 +71,7 @@ function test()
<body onload="startWorkerAndRunTest()">
<p>
-Tests that worker events are recorded with proper devtools metadata events.
+Tests js cpu profile in timeline.
</p>
</body>
</html>

Powered by Google App Engine
This is Rietveld 408576698