OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright (c) 2015 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2015 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/range.html"> | 8 <link rel="import" href="/tracing/base/math/range.html"> |
9 <link rel="import" href="/tracing/base/task.html"> | 9 <link rel="import" href="/tracing/base/task.html"> |
10 <link rel="import" href="/tracing/model/event_set.html"> | 10 <link rel="import" href="/tracing/model/event_set.html"> |
11 <link rel="import" href="/tracing/ui/analysis/analysis_link.html"> | 11 <link rel="import" href="/tracing/ui/analysis/analysis_link.html"> |
12 <link rel="import" href="/tracing/ui/analysis/flow_classifier.html"> | 12 <link rel="import" href="/tracing/ui/analysis/flow_classifier.html"> |
13 <link rel="import" href="/tracing/ui/base/dom_helpers.html"> | 13 <link rel="import" href="/tracing/ui/base/dom_helpers.html"> |
14 <link rel="import" href="/tracing/ui/base/table.html"> | 14 <link rel="import" href="/tracing/ui/base/table.html"> |
15 | 15 |
16 <dom-module id='tr-ui-a-related-events'> | 16 <dom-module id='tr-ui-a-related-events'> |
17 <template> | 17 <template> |
18 <style> | 18 <style> |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 tr.b.Task.RunWhenIdle(task); | 244 tr.b.Task.RunWhenIdle(task); |
245 return cancelTask; | 245 return cancelTask; |
246 }, | 246 }, |
247 | 247 |
248 addOverlappingSamples_: function(eventSet) { | 248 addOverlappingSamples_: function(eventSet) { |
249 let samples = new tr.model.EventSet(); | 249 let samples = new tr.model.EventSet(); |
250 for (let slice of eventSet) { | 250 for (let slice of eventSet) { |
251 if (!slice.parentContainer || !slice.parentContainer.samples) | 251 if (!slice.parentContainer || !slice.parentContainer.samples) |
252 continue; | 252 continue; |
253 let candidates = slice.parentContainer.samples; | 253 let candidates = slice.parentContainer.samples; |
254 let range = tr.b.Range.fromExplicitRange( | 254 let range = tr.b.math.Range.fromExplicitRange( |
255 slice.start, slice.start + slice.duration); | 255 slice.start, slice.start + slice.duration); |
256 let filteredSamples = range.filterArray( | 256 let filteredSamples = range.filterArray( |
257 candidates, function(value) {return value.start;}); | 257 candidates, function(value) {return value.start;}); |
258 for (let sample of filteredSamples) | 258 for (let sample of filteredSamples) |
259 samples.push(sample); | 259 samples.push(sample); |
260 } | 260 } |
261 if (samples.length > 0) { | 261 if (samples.length > 0) { |
262 this.eventGroups_.push({ | 262 this.eventGroups_.push({ |
263 type: 'Overlapping samples', | 263 type: 'Overlapping samples', |
264 tooltip: 'All samples overlapping the selected slice(s).', | 264 tooltip: 'All samples overlapping the selected slice(s).', |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 } | 313 } |
314 }, | 314 }, |
315 | 315 |
316 addOverlappingV8ICStats_: function(eventSet) { | 316 addOverlappingV8ICStats_: function(eventSet) { |
317 let slices = new tr.model.EventSet(); | 317 let slices = new tr.model.EventSet(); |
318 for (let slice of eventSet) { | 318 for (let slice of eventSet) { |
319 if (!slice.parentContainer || !slice.parentContainer.sliceGroup) { | 319 if (!slice.parentContainer || !slice.parentContainer.sliceGroup) { |
320 continue; | 320 continue; |
321 } | 321 } |
322 let sliceGroup = slice.parentContainer.sliceGroup.slices; | 322 let sliceGroup = slice.parentContainer.sliceGroup.slices; |
323 let range = tr.b.Range.fromExplicitRange( | 323 let range = tr.b.math.Range.fromExplicitRange( |
324 slice.start, slice.start + slice.duration); | 324 slice.start, slice.start + slice.duration); |
325 let filteredSlices = range.filterArray( | 325 let filteredSlices = range.filterArray( |
326 sliceGroup, value => value.start); | 326 sliceGroup, value => value.start); |
327 let icSlices = filteredSlices.filter(x => x.title === 'V8.ICStats'); | 327 let icSlices = filteredSlices.filter(x => x.title === 'V8.ICStats'); |
328 for (let icSlice of icSlices) | 328 for (let icSlice of icSlices) |
329 slices.push(icSlice); | 329 slices.push(icSlice); |
330 } | 330 } |
331 if (slices.length > 0) { | 331 if (slices.length > 0) { |
332 this.eventGroups_.push({ | 332 this.eventGroups_.push({ |
333 type: 'Overlapping V8 IC stats', | 333 type: 'Overlapping V8 IC stats', |
334 tooltip: 'All V8 IC statistics overlapping the selected set.', | 334 tooltip: 'All V8 IC statistics overlapping the selected set.', |
335 selection: slices | 335 selection: slices |
336 }); | 336 }); |
337 } | 337 } |
338 }, | 338 }, |
339 | 339 |
340 updateContents_: function() { | 340 updateContents_: function() { |
341 let table = this.$.table; | 341 let table = this.$.table; |
342 if (this.eventGroups_ === undefined) | 342 if (this.eventGroups_ === undefined) |
343 table.tableRows = []; | 343 table.tableRows = []; |
344 else | 344 else |
345 table.tableRows = this.eventGroups_.slice(); | 345 table.tableRows = this.eventGroups_.slice(); |
346 table.rebuild(); | 346 table.rebuild(); |
347 } | 347 } |
348 }); | 348 }); |
349 </script> | 349 </script> |
OLD | NEW |