blob: d9de9e5d89d8182d20fc411e50ea428264716f8b [file] [log] [blame]
// Copyright (c) 2012 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.
'use strict';
base.require('test_utils');
base.require('model');
base.require('selection');
base.require('tracks.thread_track');
base.require('tracks.counter_track');
/**
* @fileoverview Helper functions for use in analysis tests.
*/
base.exportTo('tracing.analysis.test', function() {
var newSliceNamed = test_utils.newSliceNamed;
var newSliceCategory = test_utils.newSliceCategory;
function createReferenceData(withCategory) {
var model = new tracing.Model();
var p1 = model.getOrCreateProcess(1);
var t1 = p1.getOrCreateThread(1);
if (withCategory)
t1.pushSlice(newSliceCategory('foo', 'b', 0, 0.002));
else
t1.pushSlice(newSliceNamed('b', 0, 0.002));
t1.pushSlice(newSliceNamed('b', 0, 0.002));
t1.pushSlice(newSliceNamed('c', 0, 0.002));
t1.pushSlice(newSliceNamed('c', .01, 0.003));
t1.pushSlice(newSliceNamed('c', .01, 0.001));
t1.pushSlice(newSliceNamed('c', .02, 0.004));
t1.pushSlice(newSliceNamed('d', 0, 0.002));
t1.pushSlice(newSliceNamed('d', .01, 0.003));
t1.pushSlice(newSliceNamed('d', .01, 0.001));
t1.pushSlice(newSliceNamed('d', .02, 0.004));
t1.pushSlice(newSliceNamed('e', 0, 0.002));
t1.pushSlice(newSliceNamed('e', .01, 0.003));
t1.pushSlice(newSliceNamed('e', .01, 0.001));
t1.pushSlice(newSliceNamed('e', .02, 0.004));
t1.pushSlice(newSliceNamed('f', 0, 0.002));
t1.pushSlice(newSliceNamed('Slice with a really, really long name.',
0, 0.005));
t1.slices.push(new tracing.model.Slice('category', 'D', 0, 1.15,
{src_file: 'Arg D src_file',
src_func: 'Arg D src_func'}, .5));
t1.slices.push(new tracing.model.Slice('cat', 'E', 0, 1,
{src_file: 'Arg E src_file',
src_func: 'Arg E src_func'}, .4));
t1.slices.push(new tracing.model.Slice('cat', 'F', 0, 1,
{src_file: '0',
src_func: 'false'}, .4));
var ctr1 = p1.getOrCreateCounter('foo', 'ctr1');
ctr1.seriesNames.push('bytesallocated', 'bytesfree');
ctr1.seriesColors.push(0, 1);
ctr1.timestamps.push(0, 10, 20);
ctr1.samples.push(0, 25, 10, 15, 20, 5);
var ctr2 = p1.getOrCreateCounter('foo', 'ctr2');
ctr2.seriesNames.push('bytesallocated', 'bytesfree');
ctr2.seriesColors.push(0, 1);
ctr2.timestamps.push(0, 10, 20);
ctr2.samples.push(0, 25, 10, 15, 20, 5);
var t1track = new tracing.tracks.ThreadTrack();
t1track.thread = t1;
var ctr1track = new tracing.tracks.CounterTrack();
ctr1track.counter = ctr1;
var ctr2track = new tracing.tracks.CounterTrack();
ctr2track.counter = ctr2;
t1track.selectByTitle = function(title, selection) {
t1track.addAllObjectsMatchingFilterToSelection(
new tracing.TitleFilter(title), selection);
}
return {model: model,
t1track: t1track,
ctr1track: ctr1track,
ctr2track: ctr2track};
}
return {
createReferenceData: createReferenceData
};
});