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

Unified Diff: tracing/tracing/value/value_set.html

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 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/value.html ('k') | tracing/tracing/value/value_set_test.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tracing/tracing/value/value_set.html
diff --git a/tracing/tracing/value/value_set.html b/tracing/tracing/value/value_set.html
index 9aed25a58196777d8c2c44d205f663d258bcf764..4446e59e5052b4ddbe023a759df71beb1d5cf70c 100644
--- a/tracing/tracing/value/value_set.html
+++ b/tracing/tracing/value/value_set.html
@@ -14,6 +14,8 @@ found in the LICENSE file.
'use strict';
tr.exportTo('tr.v', function() {
+ var SUMMARY_VALUE_MAP_DIAGNOSTIC_NAME = 'summary values';
+
function ValueSet(opt_values) {
this.values_ = {};
@@ -32,13 +34,34 @@ tr.exportTo('tr.v', function() {
return this.values_[guid];
},
+ toArray: function() {
+ return tr.b.dictionaryValues(this.values_);
+ },
+
+ *[Symbol.iterator]() {
+ for (var guid in this.values_)
+ yield this.values_[guid];
+ },
+
/**
* @param {!function(!tr.v.Value):*} callback
* @param {*=} opt_this
*/
map: function(callback, opt_this) {
- return tr.b.dictionaryValues(this.values_).map(
- callback, opt_this || this);
+ return this.toArray().map(callback, opt_this || this);
+ },
+
+ get organizedByName() {
+ return this.getValuesOrganizedByCallback(v => v.name);
+ },
+
+ /**
+ * @param {!function(!tr.v.Value):*} callback
+ * @param {*=} opt_this
+ * @return {!Object}
+ */
+ getValuesOrganizedByCallback: function(callback, opt_this) {
+ return tr.b.group(this.toArray(), callback, opt_this || this);
},
/**
@@ -50,7 +73,7 @@ tr.exportTo('tr.v', function() {
addValuesFromDicts: function(dicts) {
dicts.forEach(function(dict) {
var value = tr.v.Value.fromDict(dict);
- this.addValue(value);
+ this.addValueInternal_(value);
}, this);
// Now resolve the RelatedValueSet references between values.
@@ -94,19 +117,21 @@ tr.exportTo('tr.v', function() {
},
getValuesWithName: function(name) {
- return tr.b.dictionaryValues(this.values_).filter(function(value) {
- return value.name.indexOf(name) > -1;
- });
+ return this.toArray().filter(v => v.name.indexOf(name) > -1);
},
- addValue: function(v) {
- if (this.values_[v.guid]) {
- var err = new Error('Tried to add same value twice');
- err.name = 'ValueError';
- throw err;
- }
+ getValuesNamed: function(name) {
+ return this.toArray().filter(v => v.name == name);
+ },
+ addValueInternal_: function(v) {
+ if (this.values_[v.guid])
+ throw new Error('Tried to add same value twice');
this.values_[v.guid] = v;
+ },
+
+ addValue: function(v) {
+ this.addValueInternal_(v);
if (v.numeric instanceof tr.v.Numeric) {
ValueSet.computeSummaryValuesForNumericValue(v).forEach(function(s) {
@@ -120,15 +145,21 @@ tr.exportTo('tr.v', function() {
if (!(value instanceof tr.v.NumericValue &&
value.numeric instanceof tr.v.Numeric))
throw new Error('Tried to compute summary values for non-numeric');
- return value.numeric.getSummarizedScalarNumericsWithNames().map(
- function(stat) {
- return new tr.v.NumericValue(
- value.name + '_' + stat.name, stat.scalar,
- { description: value.description });
- });
+
+ var summaryValueMap = new tr.v.d.RelatedValueMap();
+ value.diagnostics.add(SUMMARY_VALUE_MAP_DIAGNOSTIC_NAME, summaryValueMap);
+ var options = {description: value.description};
+ var stats = value.numeric.getSummarizedScalarNumericsWithNames();
+ return stats.map(function(stat) {
+ var summaryValue = new tr.v.NumericValue(
+ value.name + '_' + stat.name, stat.scalar, options);
+ summaryValueMap.set(stat.name, summaryValue);
+ return summaryValue;
+ });
};
return {
+ SUMMARY_VALUE_MAP_DIAGNOSTIC_NAME: SUMMARY_VALUE_MAP_DIAGNOSTIC_NAME,
ValueSet: ValueSet
};
});
« no previous file with comments | « tracing/tracing/value/value.html ('k') | tracing/tracing/value/value_set_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698