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

Unified Diff: tracing/tracing/value/ui/value_set_table.html

Issue 2334233003: Merge NumericValue into Histogram (Closed)
Patch Set: fix rail_power_metric 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tracing/tracing/value/ui/scalar_span_test.html ('k') | tracing/tracing/value/ui/value_set_table_test.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tracing/tracing/value/ui/value_set_table.html
diff --git a/tracing/tracing/value/ui/value_set_table.html b/tracing/tracing/value/ui/value_set_table.html
index 664c91a9245fee894906e583d95fa2cb28e4c6d8..53acf99a4eece2d977644f874ad462b678e2ef11 100644
--- a/tracing/tracing/value/ui/value_set_table.html
+++ b/tracing/tracing/value/ui/value_set_table.html
@@ -54,8 +54,10 @@ found in the LICENSE file.
<container>
<controls>
- <input id="search" placeholder="Find Value name" on-keyup="onSearch_">
+ <input id="search" placeholder="Find Histogram name" on-keyup="onSearch_">
+
<span id="reference_column_container"></span>
+
<input type="checkbox" id="show_all" on-change="onShowAllChange_" title="When unchecked, less important histograms are hidden.">
<label for="show_all" title="When unchecked, less important histograms are hidden.">Show all</label>
</controls>
@@ -78,7 +80,7 @@ tr.exportTo('tr.ui', function() {
* Returns a closure that gets a story grouping key label from a Value.
*
* @param {string} storyGroupingKey
- * @return {!function(tr.v.Value):string}
+ * @return {!function(tr.v.Histogram):string}
*/
function makeStoryGroupingKeyLabelGetter(storyGroupingKey) {
return v => tr.v.d.IterationInfo.getStoryGroupingKeyLabel(
@@ -109,19 +111,22 @@ tr.exportTo('tr.ui', function() {
var UNMERGEABLE = '(unmergeable)';
function mergeCells(a, b) {
- if (a === UNMERGEABLE || b === UNMERGEABLE || !a.numeric || !b.numeric ||
- !a.numeric.canAddHistogram(b.numeric))
+ if (a === UNMERGEABLE || b === UNMERGEABLE || !a || !b ||
+ !a.canAddHistogram(b))
return UNMERGEABLE;
- return a.merge(b);
+ a = a.clone();
+ a.addHistogram(b);
+ return a;
}
/**
* Recursively groups |values|.
* TODO(benjhayden): Use ES6 Maps instead of dictionaries?
*
- * @param {!Array.<!tr.v.Value>} values
- * @param {!Array.<!function(!tr.v.Value):(string|number)>} groupingCallbacks
- * @return {!(Object|tr.v.Value)}
+ * @param {!Array.<!tr.v.Histogram>} values
+ * @param {!Array.<!function(!tr.v.Histogram):(string|number)>}
+ * groupingCallbacks
+ * @return {!(Object|tr.v.Histogram)}
*/
function organizeValues(values, groupingCallbacks, level) {
if (groupingCallbacks.length === level) {
@@ -162,7 +167,7 @@ tr.exportTo('tr.ui', function() {
// TODO(benjhayden): Should these all be ValueSets?
/** @type {undefined|!tr.v.ValueSet} */
this.values_ = undefined;
- /** @type {!Array.<!tr.v.Value>} */
+ /** @type {!Array.<!tr.v.Histogram>} */
this.sourceValues_ = [];
this.rows_ = undefined;
@@ -264,7 +269,7 @@ tr.exportTo('tr.ui', function() {
onRelatedValueSelected_: function(event) {
var value = event.selection;
- if (!(value instanceof tr.v.Value))
+ if (!(value instanceof tr.v.Histogram))
return;
event.stopPropagation();
@@ -327,10 +332,9 @@ tr.exportTo('tr.ui', function() {
if (row && col && this.columns_)
cell = row.columns[this.columns_[col].title];
- if ((cell instanceof tr.v.NumericValue) &&
- (cell.numeric instanceof tr.v.Histogram)) {
+ if (cell instanceof tr.v.Histogram) {
this.$.histogram.style.display = 'block';
- this.$.histogram.histogram = cell.numeric;
+ this.$.histogram.histogram = cell;
tr.b.Settings.set(SELECTED_VALUE_SETTINGS_KEY, JSON.stringify({
row: row.name,
@@ -535,7 +539,7 @@ tr.exportTo('tr.ui', function() {
*/
buildRow_: function(organizedValues, hierarchy) {
tr.b.iterItems(organizedValues, function(name, value) {
- if (value instanceof tr.v.Value) {
+ if (value instanceof tr.v.Histogram) {
// This recursion base case corresponds to the recursion base case of
// organizeValues(). The last groupingCallback is getDisplayLabel,
// which defines the columns of the table.
@@ -724,8 +728,7 @@ tr.exportTo('tr.ui', function() {
buildColumn_: function(displayLabel) {
function getValueForValue(value) {
- return value.numeric instanceof tr.v.Histogram ? value.numeric.average :
- value.numeric.value;
+ return value instanceof tr.v.Histogram ? value.average : value.value;
}
return {
@@ -741,9 +744,8 @@ tr.exportTo('tr.ui', function() {
if (cell === UNMERGEABLE)
return cell;
- if (cell instanceof tr.v.NumericValue) {
- if (cell.numeric instanceof tr.v.Histogram &&
- cell.numeric.numValues === 0) {
+ if (cell instanceof tr.v.Histogram) {
+ if (cell.numValues === 0) {
return '(empty)';
}
@@ -751,20 +753,14 @@ tr.exportTo('tr.ui', function() {
this.referenceDisplayLabel !== displayLabel) {
var referenceCell = row.columns[this.referenceDisplayLabel];
- if (referenceCell instanceof tr.v.NumericValue &&
- cell.numeric.unit === referenceCell.numeric.unit &&
- referenceCell.numeric.numValues > 0) {
- var significance = tr.v.Significance.DONT_CARE;
-
- if (cell.numeric instanceof tr.v.Histogram &&
- referenceCell.numeric instanceof tr.v.Histogram) {
- significance = cell.numeric.getDifferenceSignificance(
- referenceCell.numeric);
- }
-
+ if (referenceCell instanceof tr.v.Histogram &&
+ cell.unit === referenceCell.unit &&
+ referenceCell.numValues > 0) {
+ var significance = cell.getDifferenceSignificance(
+ referenceCell);
return tr.v.ui.createScalarSpan(
getValueForValue(cell) - getValueForValue(referenceCell),
- {unit: cell.numeric.unit.correspondingDeltaUnit,
+ {unit: cell.unit.correspondingDeltaUnit,
significance: significance});
}
}
@@ -783,8 +779,8 @@ tr.exportTo('tr.ui', function() {
cmp: function(rowA, rowB) {
var cellA = rowA.columns[displayLabel];
var cellB = rowB.columns[displayLabel];
- if (!(cellA instanceof tr.v.NumericValue) ||
- !(cellB instanceof tr.v.NumericValue)) {
+ if (!(cellA instanceof tr.v.Histogram) ||
+ !(cellB instanceof tr.v.Histogram)) {
return undefined;
}
@@ -797,10 +793,10 @@ tr.exportTo('tr.ui', function() {
this.referenceDisplayLabel !== displayLabel) {
var referenceCellA = rowA.columns[this.referenceDisplayLabel];
var referenceCellB = rowB.columns[this.referenceDisplayLabel];
- if (referenceCellA instanceof tr.v.NumericValue &&
- referenceCellB instanceof tr.v.NumericValue &&
- cellA.numeric.unit === referenceCellA.numeric.unit &&
- cellB.numeric.unit === referenceCellB.numeric.unit) {
+ if (referenceCellA instanceof tr.v.Histogram &&
+ referenceCellB instanceof tr.v.Histogram &&
+ cellA.unit === referenceCellA.unit &&
+ cellB.unit === referenceCellB.unit) {
valueA -= getValueForValue(referenceCellA);
valueB -= getValueForValue(referenceCellB);
}
« no previous file with comments | « tracing/tracing/value/ui/scalar_span_test.html ('k') | tracing/tracing/value/ui/value_set_table_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698