1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
8 * @fileoverview Helper functions for use in tracing tests.
12 tvcm.require('tracing.trace_model.counter');
13 tvcm.require('tracing.trace_model.slice');
14 tvcm.require('tracing.trace_model.slice_group');
16 tvcm.exportTo('tracing.test_utils', function() {
17 function newAsyncSlice(start, duration, startThread, endThread) {
18 return newAsyncSliceNamed('a', start, duration, startThread, endThread);
21 function newAsyncSliceNamed(name, start, duration, startThread, endThread) {
22 var s = new tracing.trace_model.AsyncSlice('', name, 0, start);
23 s.duration = duration;
24 s.startThread = startThread;
25 s.endThread = endThread;
26 var subSlice = new tracing.trace_model.AsyncSlice('', name, 0, start);
27 subSlice.duration = duration;
28 subSlice.startThread = startThread;
29 subSlice.endThread = endThread;
30 s.subSlices = [subSlice];
34 function newCounter(parent) {
35 return newCounterNamed(parent, 'a');
38 function newCounterNamed(parent, name) {
39 var s = new tracing.trace_model.Counter(parent, name, null, name);
43 function newCounterCategory(parent, category, name) {
44 var s = new tracing.trace_model.Counter(parent, name, category, name);
48 function newSlice(start, duration) {
49 return newSliceNamed('a', start, duration);
52 function newSliceNamed(name, start, duration) {
53 var s = new tracing.trace_model.Slice('', name, 0, start, {}, duration);
57 function newSampleNamed(thread, sampleName, lastFrameName, start) {
58 var f = new tracing.trace_model.StackFrame(undefined, tvcm.GUID.allocate(),
59 '', lastFrameName, 0);
60 thread.parent.model.addStackFrame(f);
61 var s = new tracing.trace_model.Sample(undefined, thread, sampleName,
66 function newSliceCategory(category, name, start, duration) {
67 var s = new tracing.trace_model.Slice(
68 category, name, 0, start, {}, duration);
72 function findSliceNamed(slices, name) {
73 if (slices instanceof tracing.trace_model.SliceGroup)
74 slices = slices.slices;
75 for (var i = 0; i < slices.length; i++)
76 if (slices[i].title == name)
82 newAsyncSlice: newAsyncSlice,
83 newAsyncSliceNamed: newAsyncSliceNamed,
84 newCounter: newCounter,
85 newCounterNamed: newCounterNamed,
86 newCounterCategory: newCounterCategory,
88 newSliceNamed: newSliceNamed,
89 newSampleNamed: newSampleNamed,
90 newSliceCategory: newSliceCategory,
91 findSliceNamed: findSliceNamed