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(name, start) {
58 var s = new tracing.trace_model.Sample('', name, 0, start, {});
62 function newSliceCategory(category, name, start, duration) {
63 var s = new tracing.trace_model.Slice(
64 category, name, 0, start, {}, duration);
68 function findSliceNamed(slices, name) {
69 if (slices instanceof tracing.trace_model.SliceGroup)
70 slices = slices.slices;
71 for (var i = 0; i < slices.length; i++)
72 if (slices[i].title == name)
78 newAsyncSlice: newAsyncSlice,
79 newAsyncSliceNamed: newAsyncSliceNamed,
80 newCounter: newCounter,
81 newCounterNamed: newCounterNamed,
82 newCounterCategory: newCounterCategory,
84 newSliceNamed: newSliceNamed,
85 newSampleNamed: newSampleNamed,
86 newSliceCategory: newSliceCategory,
87 findSliceNamed: findSliceNamed