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

Side by Side Diff: tracing/tracing/metrics/system_health/long_tasks_metric.html

Issue 2258583003: Modernize DiagnosticMap to subclass ES6 Map. (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: fix longTasksMetric and Composition Created 4 years, 3 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
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <!-- 2 <!--
3 Copyright 2016 The Chromium Authors. All rights reserved. 3 Copyright 2016 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" 8 <link rel="import"
9 href="/tracing/extras/chrome/chrome_user_friendly_category_driver.html"> 9 href="/tracing/extras/chrome/chrome_user_friendly_category_driver.html">
10 <link rel="import" href="/tracing/metrics/metric_registry.html"> 10 <link rel="import" href="/tracing/metrics/metric_registry.html">
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 * @param {!tr.model.Model} model 87 * @param {!tr.model.Model} model
88 * @param {!Object=} opt_options 88 * @param {!Object=} opt_options
89 */ 89 */
90 function longTasksMetric(values, model, opt_options) { 90 function longTasksMetric(values, model, opt_options) {
91 var rangeOfInterest = opt_options ? opt_options.rangeOfInterest : undefined; 91 var rangeOfInterest = opt_options ? opt_options.rangeOfInterest : undefined;
92 var longTaskNumeric = LONG_TASK_NUMERIC_BUILDER.build(); 92 var longTaskNumeric = LONG_TASK_NUMERIC_BUILDER.build();
93 var slices = new tr.model.EventSet(); 93 var slices = new tr.model.EventSet();
94 iterateRendererMainThreads(model, function(thread) { 94 iterateRendererMainThreads(model, function(thread) {
95 iterateLongTopLevelTasksOnThreadInRange( 95 iterateLongTopLevelTasksOnThreadInRange(
96 thread, rangeOfInterest, function(task) { 96 thread, rangeOfInterest, function(task) {
97 longTaskNumeric.add(task.duration, 97 longTaskNumeric.add(task.duration, tr.v.d.DiagnosticMap.fromObject({
98 new tr.v.d.DiagnosticMap({
99 relatedEvents: new tr.v.d.RelatedEventSet([task])})); 98 relatedEvents: new tr.v.d.RelatedEventSet([task])}));
100 slices.push(task); 99 slices.push(task);
101 slices.addEventSet(task.descendentSlices); 100 slices.addEventSet(task.descendentSlices);
102 }); 101 });
103 }); 102 });
104 var options = {description: 'durations of long tasks'}; 103 var options = {description: 'durations of long tasks'};
105 var longTaskValue = new tr.v.NumericValue( 104 var longTaskValue = new tr.v.NumericValue(
106 'long tasks', longTaskNumeric, options); 105 'long tasks', longTaskNumeric, options);
107 values.addValue(longTaskValue); 106 values.addValue(longTaskValue);
108 var composition = tr.v.d.Composition.buildFromEvents( 107 var composition = tr.v.d.Composition.buildFromEvents(
109 values, 'long tasks ', slices, SLICE_NUMERIC_BUILDER, 108 values, 'long tasks ', slices, SLICE_NUMERIC_BUILDER,
110 e => (model.getUserFriendlyCategoryFromEvent(e) || 'unknown')); 109 e => (model.getUserFriendlyCategoryFromEvent(e) || 'unknown'));
111 composition.colorScheme = 110 composition.colorScheme =
112 tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER; 111 tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;
113 longTaskValue.diagnostics.add('category', composition); 112 longTaskValue.diagnostics.set('category', composition);
114 } 113 }
115 114
116 tr.metrics.MetricRegistry.register(longTasksMetric, { 115 tr.metrics.MetricRegistry.register(longTasksMetric, {
117 supportsRangeOfInterest: true 116 supportsRangeOfInterest: true
118 }); 117 });
119 118
120 return { 119 return {
121 longTasksMetric: longTasksMetric, 120 longTasksMetric: longTasksMetric,
122 iterateLongTopLevelTasksOnThreadInRange: 121 iterateLongTopLevelTasksOnThreadInRange:
123 iterateLongTopLevelTasksOnThreadInRange, 122 iterateLongTopLevelTasksOnThreadInRange,
124 iterateRendererMainThreads: iterateRendererMainThreads, 123 iterateRendererMainThreads: iterateRendererMainThreads,
125 LONG_TASK_MS: LONG_TASK_MS, 124 LONG_TASK_MS: LONG_TASK_MS,
126 LONGEST_TASK_MS: LONGEST_TASK_MS 125 LONGEST_TASK_MS: LONGEST_TASK_MS
127 }; 126 };
128 }); 127 });
129 </script> 128 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698