| <!DOCTYPE html> |
| <!-- |
| Copyright 2016 The Chromium Authors. All rights reserved. |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <link rel="import" href="/tracing/value/numeric.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tr.exportTo('tr.metrics', function() { |
| function ValueList(values) { |
| if (values !== undefined) |
| this.values_ = values; |
| else |
| this.values_ = []; |
| } |
| |
| ValueList.prototype = { |
| get valueDicts() { |
| return this.values_.map(function(v) { return v.asDict(); }); |
| }, |
| |
| getValuesWithName: function(name) { |
| return this.values_.filter(function(value) { |
| return value.name.indexOf(name) > -1; |
| }); |
| }, |
| |
| addValue: function(v) { |
| if (!(v instanceof tr.v.NumericValue)) { |
| var err = new Error('Tried to add value ' + v + |
| ' which is non-Numeric'); |
| err.name = 'ValueError'; |
| throw err; |
| } |
| |
| this.values_.push(v); |
| } |
| }; |
| |
| return { |
| ValueList: ValueList |
| }; |
| }); |
| </script> |