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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <script src="../../http/tests/inspector/inspector-test.js"></script> 3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/timeline-test.js"></script> 4 <script src="../../http/tests/inspector/timeline-test.js"></script>
5 <script src="../tracing-test.js"></script> 5 <script src="../tracing-test.js"></script>
6 <script> 6 <script>
7 7
8 // Save references to the worker objects to make sure they are not GC'ed. 8 // Save references to the worker objects to make sure they are not GC'ed.
9 var worker1; 9 var worker1;
10 var worker2; 10 var worker2;
(...skipping 10 matching lines...) Expand all
21 21
22 worker1.onmessage = function(event) 22 worker1.onmessage = function(event)
23 { 23 {
24 worker1.onmessage = null; 24 worker1.onmessage = null;
25 runTest(); 25 runTest();
26 } 26 }
27 } 27 }
28 28
29 function startSecondWorker(onActionComplete) 29 function startSecondWorker(onActionComplete)
30 { 30 {
31 // FIXME: add a payload to the worker to make it produce a JSFrame.
31 worker2 = new Worker("resources/worker.js"); 32 worker2 = new Worker("resources/worker.js");
32 worker2.postMessage(""); 33 worker2.postMessage("");
33 worker2.onmessage = function(event) 34 worker2.onmessage = function(event)
34 { 35 {
35 onActionComplete(); 36 onActionComplete();
36 worker2.onmessage = null; 37 worker2.onmessage = null;
37 } 38 }
38 } 39 }
39 40
40 function test() 41 function test()
41 { 42 {
42 InspectorTest.invokeWithTracing("startSecondWorker", processTracingEvents); 43 InspectorTest.invokeWithTracing("startSecondWorker", processTracingEvents,
44 "disabled-by-default-devtools.timeline.stack", true);
43 45
44 var workerMetadataEventCount = 0; 46 var seenFunctions = new Set();
45 function processTracingEvents() 47 function processTracingEvents()
46 { 48 {
47 InspectorTest.tracingModel().sortedProcesses().forEach(function(process) { 49 InspectorTest.addResult("Main thread");
48 process.sortedThreads().forEach(function(thread) { 50 InspectorTest.tracingTimelineModel()._mainThreadEvents.forEach(processEv ent);
49 thread.events().forEach(processEvent); 51 var threads = InspectorTest.tracingTimelineModel()._virtualThreads;
50 }); 52 for (var i = 0; i < threads.length; ++i) {
51 }); 53 InspectorTest.addResult(threads[i].name);
52 InspectorTest.assertEquals(2, workerMetadataEventCount); 54 threads[i].events.forEach(processEvent);
55 }
56 InspectorTest.assertTrue(seenFunctions.has("startSecondWorker"));
57 InspectorTest.assertTrue(seenFunctions.has("worker2.onmessage"));
53 InspectorTest.completeTest(); 58 InspectorTest.completeTest();
54 } 59 }
55 60
56 function processEvent(event) 61 function processEvent(event)
57 { 62 {
58 if (event.category !== WebInspector.TracingModel.DevToolsMetadataEventCa tegory || event.name !== WebInspector.TracingModel.DevToolsMetadataEvent.Tracing SessionIdForWorker) 63 if (event.name !== WebInspector.TimelineModel.RecordType.JSFrame)
59 return; 64 return;
60 65 seenFunctions.add(event.args.data.functionName);
61 ++workerMetadataEventCount;
62 InspectorTest.assertEquals(InspectorTest.tracingModel().sessionId(), eve nt.args["data"]["sessionId"]);
63 InspectorTest.addResult("Got DevTools worker metadata event(" + workerMe tadataEventCount + "): " + event.name);
64 } 66 }
65
66 } 67 }
67 68
68 </script> 69 </script>
69 </head> 70 </head>
70 71
71 <body onload="startWorkerAndRunTest()"> 72 <body onload="startWorkerAndRunTest()">
72 <p> 73 <p>
73 Tests that worker events are recorded with proper devtools metadata events. 74 Tests js cpu profile in timeline.
74 </p> 75 </p>
75 </body> 76 </body>
76 </html> 77 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698