Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Side by Side Diff: tracing/tracing/model/slice_group.html

Issue 2771723003: [tracing] Move math utilities from base into their own subdirectory (attempt 2) (Closed)
Patch Set: rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tracing/tracing/model/resource_usage_series.html ('k') | tracing/tracing/model/thread.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved. 3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be 4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file. 5 found in the LICENSE file.
6 --> 6 -->
7 7
8 <link rel="import" href="/tracing/base/color_scheme.html"> 8 <link rel="import" href="/tracing/base/color_scheme.html">
9 <link rel="import" href="/tracing/base/guid.html"> 9 <link rel="import" href="/tracing/base/guid.html">
10 <link rel="import" href="/tracing/base/sorted_array_utils.html"> 10 <link rel="import" href="/tracing/base/math/sorted_array_utils.html">
11 <link rel="import" href="/tracing/core/filter.html"> 11 <link rel="import" href="/tracing/core/filter.html">
12 <link rel="import" href="/tracing/model/event_container.html"> 12 <link rel="import" href="/tracing/model/event_container.html">
13 <link rel="import" href="/tracing/model/thread_slice.html"> 13 <link rel="import" href="/tracing/model/thread_slice.html">
14 14
15 <script> 15 <script>
16 'use strict'; 16 'use strict';
17 17
18 /** 18 /**
19 * @fileoverview Provides the SliceGroup class. 19 * @fileoverview Provides the SliceGroup class.
20 */ 20 */
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 for (var i = 0; i < this.slices.length; i++) { 306 for (var i = 0; i < this.slices.length; i++) {
307 if (this.slices[i].title === title) { 307 if (this.slices[i].title === title) {
308 slices.push(this.slices[i]); 308 slices.push(this.slices[i]);
309 } 309 }
310 } 310 }
311 return slices; 311 return slices;
312 }, 312 },
313 313
314 iterSlicesInTimeRange: function(callback, start, end) { 314 iterSlicesInTimeRange: function(callback, start, end) {
315 var ret = []; 315 var ret = [];
316 tr.b.iterateOverIntersectingIntervals( 316 tr.b.math.iterateOverIntersectingIntervals(
317 this.topLevelSlices, 317 this.topLevelSlices,
318 function(s) { return s.start; }, 318 function(s) { return s.start; },
319 function(s) { return s.duration; }, 319 function(s) { return s.duration; },
320 start, 320 start,
321 end, 321 end,
322 function(topLevelSlice) { 322 function(topLevelSlice) {
323 callback(topLevelSlice); 323 callback(topLevelSlice);
324 for (var slice of topLevelSlice.enumerateAllDescendents()) 324 for (var slice of topLevelSlice.enumerateAllDescendents())
325 callback(slice); 325 callback(slice);
326 }); 326 });
327 return ret; 327 return ret;
328 }, 328 },
329 329
330 findFirstSlice: function() { 330 findFirstSlice: function() {
331 if (!this.haveTopLevelSlicesBeenBuilt) 331 if (!this.haveTopLevelSlicesBeenBuilt)
332 throw new Error('Nope'); 332 throw new Error('Nope');
333 if (0 === this.slices.length) 333 if (0 === this.slices.length)
334 return undefined; 334 return undefined;
335 return this.slices[0]; 335 return this.slices[0];
336 }, 336 },
337 337
338 findSliceAtTs: function(ts) { 338 findSliceAtTs: function(ts) {
339 if (!this.haveTopLevelSlicesBeenBuilt) 339 if (!this.haveTopLevelSlicesBeenBuilt)
340 throw new Error('Nope'); 340 throw new Error('Nope');
341 var i = tr.b.findIndexInSortedClosedIntervals( 341 var i = tr.b.math.findIndexInSortedClosedIntervals(
342 this.topLevelSlices, 342 this.topLevelSlices,
343 getSliceLo, getSliceHi, 343 getSliceLo, getSliceHi,
344 ts); 344 ts);
345 if (i === -1 || i === this.topLevelSlices.length) 345 if (i === -1 || i === this.topLevelSlices.length)
346 return undefined; 346 return undefined;
347 347
348 var curSlice = this.topLevelSlices[i]; 348 var curSlice = this.topLevelSlices[i];
349 349
350 // Now recurse on slice looking for subSlice of given ts. 350 // Now recurse on slice looking for subSlice of given ts.
351 while (true) { 351 while (true) {
352 var i = tr.b.findIndexInSortedClosedIntervals( 352 var i = tr.b.math.findIndexInSortedClosedIntervals(
353 curSlice.subSlices, 353 curSlice.subSlices,
354 getSliceLo, getSliceHi, 354 getSliceLo, getSliceHi,
355 ts); 355 ts);
356 if (i === -1 || i === curSlice.subSlices.length) 356 if (i === -1 || i === curSlice.subSlices.length)
357 return curSlice; 357 return curSlice;
358 curSlice = curSlice.subSlices[i]; 358 curSlice = curSlice.subSlices[i];
359 } 359 }
360 }, 360 },
361 361
362 findNextSliceAfter: function(ts, refGuid) { 362 findNextSliceAfter: function(ts, refGuid) {
363 var i = tr.b.findLowIndexInSortedArray( 363 var i = tr.b.math.findLowIndexInSortedArray(
364 this.slices, getSliceLo, ts); 364 this.slices, getSliceLo, ts);
365 if (i === this.slices.length) 365 if (i === this.slices.length)
366 return undefined; 366 return undefined;
367 for (; i < this.slices.length; i++) { 367 for (; i < this.slices.length; i++) {
368 var slice = this.slices[i]; 368 var slice = this.slices[i];
369 if (slice.start > ts) 369 if (slice.start > ts)
370 return slice; 370 return slice;
371 if (slice.guid <= refGuid) 371 if (slice.guid <= refGuid)
372 continue; 372 continue;
373 return slice; 373 return slice;
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 closeOpenSlices(); 679 closeOpenSlices();
680 680
681 return result; 681 return result;
682 }; 682 };
683 683
684 return { 684 return {
685 SliceGroup, 685 SliceGroup,
686 }; 686 };
687 }); 687 });
688 </script> 688 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/model/resource_usage_series.html ('k') | tracing/tracing/model/thread.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698