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.
7 tvcm.require('tracing.tracks.container_track');
8 tvcm.require('tracing.tracks.slice_track');
9 tvcm.require('tracing.filter');
10 tvcm.require('tracing.trace_model');
11 tvcm.require('tvcm.ui');
13 tvcm.exportTo('tracing.tracks', function() {
16 * Visualizes a Cpu using a series of of SliceTracks.
20 tvcm.ui.define('cpu-track', tracing.tracks.ContainerTrack);
21 CpuTrack.prototype = {
22 __proto__: tracing.tracks.ContainerTrack.prototype,
24 decorate: function(viewport) {
25 tracing.tracks.ContainerTrack.prototype.decorate.call(this, viewport);
26 this.classList.add('cpu-track');
35 this.updateContents_();
43 this.tooltip_ = value;
44 this.updateContents_();
47 get hasVisibleContent() {
48 return this.children.length > 0;
51 updateContents_: function() {
55 var slices = this.cpu_.slices;
57 var track = new tracing.tracks.SliceTrack(this.viewport);
58 track.slices = slices;
59 track.heading = this.cpu_.userFriendlyName + ':';
60 this.appendChild(track);
63 for (var counterName in this.cpu_.counters) {
64 var counter = this.cpu_.counters[counterName];
65 track = new tracing.tracks.CounterTrack(this.viewport);
66 track.heading = this.cpu_.userFriendlyName + ' ' +
68 track.counter = counter;
69 this.appendChild(track);