blob: 4c0bf83683509428cc4322edee832cb1ad8acdee [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(async function() {
TestRunner.addResult(`Test that tracing model correctly processes trace events.\n`);
await TestRunner.loadModule('performance_test_runner');
var mainThread = 1;
var pid = 100;
var testData = [
{
'cat': 'blink.console',
'name': 'simple1',
'ph': 'S',
'ts': 100000,
'args': {},
'id': 1,
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'simple1',
'ph': 'F',
'ts': 101000,
'args': {},
'id': 1,
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'simple2',
'ph': 'S',
'ts': 110000,
'args': {},
'id': 1,
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'simple2',
'ph': 'F',
'ts': 111000,
'args': {},
'id': 1,
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-vs-old',
'ph': 'S',
'ts': 120000,
'args': {},
'id': 2,
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-vs-old',
'ph': 'S',
'ts': 120010,
'args': {},
'id2': {global: 2},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-vs-old',
'ph': 'F',
'ts': 130000,
'args': {},
'id': 2,
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-vs-old',
'ph': 'F',
'ts': 130010,
'args': {},
'id2': {global: 2},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-x-process',
'ph': 'S',
'ts': 140000,
'args': {},
'id2': {global: 3},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-x-process',
'ph': 'F',
'ts': 150010,
'args': {},
'id2': {global: 3},
'tid': mainThread,
'pid': pid + 2
},
{
'cat': 'blink.console',
'name': 'local-x-process',
'ph': 'S',
'ts': 160000,
'args': {},
'id2': {local: 4},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-x-process',
'ph': 'S',
'ts': 160010,
'args': {},
'id2': {local: 4},
'tid': mainThread,
'pid': pid + 2
},
{
'cat': 'blink.console',
'name': 'local-x-process',
'ph': 'F',
'ts': 170000,
'args': {},
'id2': {local: 4},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-x-process',
'ph': 'F',
'ts': 170010,
'args': {},
'id2': {local: 4},
'tid': mainThread,
'pid': pid + 2
},
{
'cat': 'blink.console',
'name': 'local-vs-global',
'ph': 'S',
'ts': 180000,
'args': {},
'id2': {local: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-vs-global',
'ph': 'S',
'ts': 180010,
'args': {},
'id2': {global: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-vs-global',
'ph': 'F',
'ts': 190000,
'args': {},
'id2': {local: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-vs-global',
'ph': 'F',
'ts': 190010,
'args': {},
'id2': {global: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-scope',
'ph': 'S',
'ts': 200000,
'args': {},
'scope': 's1',
'id2': {local: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-scope',
'ph': 'S',
'ts': 200010,
'args': {},
'scope': 's2',
'id2': {local: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-scope',
'ph': 'F',
'ts': 210000,
'args': {},
'scope': 's1',
'id2': {local: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'local-scope',
'ph': 'F',
'ts': 210010,
'args': {},
'scope': 's2',
'id2': {local: 5},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-scope',
'ph': 'S',
'ts': 210000,
'args': {},
'scope': 's1',
'id2': {global: 6},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-scope',
'ph': 'S',
'ts': 210010,
'args': {},
'scope': 's2',
'id2': {global: 6},
'tid': mainThread,
'pid': pid
},
{
'cat': 'blink.console',
'name': 'global-scope',
'ph': 'F',
'ts': 220000,
'args': {},
'scope': 's1',
'id2': {global: 6},
'tid': mainThread,
'pid': pid + 2
},
{
'cat': 'blink.console',
'name': 'global-scope',
'ph': 'F',
'ts': 220010,
'args': {},
'scope': 's2',
'id2': {global: 6},
'tid': mainThread,
'pid': pid + 2
},
];
var model = PerformanceTestRunner.createTracingModel(testData);
var events = model.sortedProcesses()[0].threadById(mainThread).asyncEvents();
for (var i = 0; i < events.length; ++i) {
var stepString = `${events[i].name} ${events[i].startTime}-${events[i].endTime}: ` +
events[i].steps.map(s => `${s.phase} ${s.startTime}`).join(', ');
TestRunner.addResult(stepString);
}
TestRunner.completeTest();
})();