| // 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 filtering in Timeline Tree View panel.\n`); |
| await TestRunner.loadModule('performance_test_runner'); |
| await TestRunner.showPanel('timeline'); |
| |
| var sessionId = '4.20'; |
| var mainThread = 1; |
| var pid = 100; |
| |
| var testData = [ |
| { |
| 'args': {'data': {'sessionId': sessionId, 'frames': [ |
| {'frame': 'frame1', 'url': 'frameurl', 'name': 'frame-name'} |
| ]}}, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'name': 'TracingStartedInPage', |
| 'ph': 'I', |
| 'pid': pid, |
| 'tid': mainThread, |
| 'ts': 100, |
| }, |
| { |
| 'name': 'top level event name', |
| 'ts': 1000000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'toplevel', |
| 'args': {} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1010000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar01'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1020000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar02'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1120000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar03'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1180000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1210000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar04'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1220000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo05'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1320000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar06'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1380000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1410000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar07'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1420000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo08'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1520000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo09'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 1580000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| }, |
| { |
| 'name': 'top level event name', |
| 'ts': 1990000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'toplevel', |
| 'args': {} |
| }, |
| { |
| 'name': 'Program', |
| 'ts': 2000000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2010000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo10'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2020000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar11'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2120000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar12'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2180000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2210000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo13'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2220000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo14'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2320000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'bar15'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2380000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2410000, |
| 'ph': 'B', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo16'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2420000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo17'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2520000, |
| 'ph': 'I', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {'data': {'message': 'foo18'}} |
| }, |
| { |
| 'name': 'TimeStamp', |
| 'ts': 2580000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| }, |
| { |
| 'name': 'Program', |
| 'ts': 2590000, |
| 'ph': 'E', |
| 'tid': mainThread, |
| 'pid': pid, |
| 'cat': 'disabled-by-default-devtools.timeline', |
| 'args': {} |
| } |
| ]; |
| |
| var model = PerformanceTestRunner.createPerformanceModelWithEvents(testData); |
| const tabbedPane = UI.panels.timeline._flameChart._detailsView._tabbedPane; |
| tabbedPane.selectTab(Timeline.TimelineDetailsView.Tab.EventLog); |
| const view = tabbedPane.visibleView; |
| |
| view.setModel(model, PerformanceTestRunner.mainTrack()); |
| view.updateContents(Timeline.TimelineSelection.fromRange( |
| model.timelineModel().minimumRecordTime(), model.timelineModel().maximumRecordTime())); |
| function printEventMessage(event, level) { |
| const text = event.args['data'] && event.args['data']['message'] || event.name; |
| TestRunner.addResult(' '.repeat(level) + text); |
| } |
| |
| async function dumpRecords() { |
| await PerformanceTestRunner.walkTimelineEventTreeUnderNode(printEventMessage, view._currentTree); |
| TestRunner.addResult(''); |
| } |
| |
| TestRunner.addResult('Initial:'); |
| await dumpRecords(); |
| |
| TestRunner.addResult(`Filtered by 'bar':`); |
| view._textFilterUI.setValue('bar', true); |
| await dumpRecords(); |
| |
| TestRunner.addResult(`Filtered by 'foo':`); |
| view._textFilterUI.setValue('foo', true); |
| await dumpRecords(); |
| |
| TestRunner.completeTest(); |
| })(); |