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

Side by Side Diff: tracing/tracing/value/ui/histogram_set_table.html

Issue 3009553002: Refactor Histogram relationship diagnostics. (Closed)
Patch Set: Created 3 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" href="/tracing/base/timing.html"> 8 <link rel="import" href="/tracing/base/timing.html">
9 <link rel="import" href="/tracing/ui/base/table.html"> 9 <link rel="import" href="/tracing/ui/base/table.html">
10 <link rel="import" href="/tracing/value/histogram_set.html"> 10 <link rel="import" href="/tracing/value/histogram_set.html">
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 this.groupedHistograms_); 188 this.groupedHistograms_);
189 this.tableRows_ = undefined; 189 this.tableRows_ = undefined;
190 } 190 }
191 191
192 const tableRowsDirty = this.tableRows_ === undefined; 192 const tableRowsDirty = this.tableRows_ === undefined;
193 const previousRowStates = this.viewState.tableRowStates; 193 const previousRowStates = this.viewState.tableRowStates;
194 194
195 if (tableRowsDirty) { 195 if (tableRowsDirty) {
196 await this.progress_('Filtering rows...'); 196 await this.progress_('Filtering rows...');
197 197
198 let filteredHistograms = this.viewState.showAll ? 198 const filteredHistogramNames = new Set();
199 this.histograms : this.sourceHistograms_; 199 let query;
200 if (this.viewState.searchQuery) { 200 if (this.viewState.searchQuery) {
201 let query = undefined;
202 try { 201 try {
203 query = new RegExp(this.viewState.searchQuery); 202 query = new RegExp(this.viewState.searchQuery);
204 } catch (e) { 203 } catch (e) {
205 } 204 }
206 if (query !== undefined) { 205 }
207 filteredHistograms = new tr.v.HistogramSet( 206 for (const hist of this.viewState.showAll ?
208 [...filteredHistograms].filter( 207 this.histograms : this.sourceHistograms_) {
209 hist => hist.name.match(query))); 208 if (query === undefined ||
209 hist.name.match(query)) {
210 filteredHistogramNames.add(hist.name);
210 } 211 }
211 } 212 }
212 213
213 const filteredHierarchies = tr.v.HistogramSetHierarchy.filter( 214 const filteredHierarchies = tr.v.HistogramSetHierarchy.filter(
214 this.hierarchies_, filteredHistograms); 215 this.hierarchies_, filteredHistogramNames);
215 216
216 // Wait to set this.$.table.tableRows until we're ready for it to build 217 // Wait to set this.$.table.tableRows until we're ready for it to build
217 // DOM. When tableRows are set on it, tr-ui-b-table calls 218 // DOM. When tableRows are set on it, tr-ui-b-table calls
218 // setTimeout(..., 0) to schedule rebuild for the next interpreter tick, 219 // setTimeout(..., 0) to schedule rebuild for the next interpreter tick,
219 // but that can happen in between the next await, which is too early. 220 // but that can happen in between the next await, which is too early.
220 this.tableRows_ = filteredHierarchies.map(hierarchy => 221 this.tableRows_ = filteredHierarchies.map(hierarchy =>
221 new tr.v.ui.HistogramSetTableRow( 222 new tr.v.ui.HistogramSetTableRow(
222 hierarchy, this.$.table, this.viewState)); 223 hierarchy, this.$.table, this.histograms, this.viewState));
223 224
224 tr.b.Timing.instant('histogram-set-table', 'rootRowCount', 225 tr.b.Timing.instant('histogram-set-table', 'rootRowCount',
225 this.tableRows_.length); 226 this.tableRows_.length);
226 227
227 const namesToRowStates = new Map(); 228 const namesToRowStates = new Map();
228 for (const row of this.tableRows_) { 229 for (const row of this.tableRows_) {
229 namesToRowStates.set(row.name, row.viewState); 230 namesToRowStates.set(row.name, row.viewState);
230 } 231 }
231 await this.viewState.update({tableRowStates: namesToRowStates}); 232 await this.viewState.update({tableRowStates: namesToRowStates});
232 } 233 }
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 } 431 }
431 return histograms; 432 return histograms;
432 } 433 }
433 }); 434 });
434 435
435 return { 436 return {
436 MIDLINE_HORIZONTAL_ELLIPSIS, 437 MIDLINE_HORIZONTAL_ELLIPSIS,
437 }; 438 };
438 }); 439 });
439 </script> 440 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/value/ui/diagnostic_span_behavior.html ('k') | tracing/tracing/value/ui/histogram_set_table_cell.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698