| Index: tracing/tracing/value/diagnostics/breakdown.html | 
| diff --git a/tracing/tracing/value/diagnostics/breakdown.html b/tracing/tracing/value/diagnostics/breakdown.html | 
| index 3241a0b1756beac91f5def273bf3992b0db5ce8d..eb5ab528c4d627a1d6cae35a96c62e8125057d9c 100644 | 
| --- a/tracing/tracing/value/diagnostics/breakdown.html | 
| +++ b/tracing/tracing/value/diagnostics/breakdown.html | 
| @@ -18,6 +18,10 @@ tr.exportTo('tr.v.d', function() { | 
| this.colorScheme = undefined; | 
| } | 
|  | 
| +    get size() { | 
| +      return this.values_.size; | 
| +    } | 
| + | 
| clone() { | 
| const clone = new Breakdown(); | 
| clone.colorScheme = this.colorScheme; | 
| @@ -38,7 +42,7 @@ tr.exportTo('tr.v.d', function() { | 
| } | 
|  | 
| /** | 
| -     * Add a Value by an explicit name to this map. | 
| +     * Add a numeric value by name. | 
| * | 
| * @param {string} name | 
| * @param {number} value | 
| @@ -48,6 +52,7 @@ tr.exportTo('tr.v.d', function() { | 
| typeof value !== 'number') { | 
| throw new Error('Breakdown maps from strings to numbers'); | 
| } | 
| + | 
| this.values_.set(name, value); | 
| } | 
|  | 
| @@ -66,25 +71,23 @@ tr.exportTo('tr.v.d', function() { | 
| } | 
|  | 
| asDictInto_(d) { | 
| -      d.values = {}; | 
| -      for (const [name, value] of this) { | 
| -        d.values[name] = tr.b.numberToJson(value); | 
| -      } | 
| -      if (this.colorScheme) { | 
| -        d.colorScheme = this.colorScheme; | 
| -      } | 
| +      d.entries = Array.from(this); | 
| +      if (this.colorScheme) d.colorScheme = this.colorScheme; | 
| } | 
|  | 
| -    static fromDict(d) { | 
| +    static fromEntries(entries) { | 
| const breakdown = new Breakdown(); | 
| -      for (const [name, value] of Object.entries(d.values)) { | 
| -        breakdown.set(name, tr.b.numberFromJson(value)); | 
| -      } | 
| -      if (d.colorScheme) { | 
| -        breakdown.colorScheme = d.colorScheme; | 
| +      for (const [name, value] of entries) { | 
| +        breakdown.set(name, value); | 
| } | 
| return breakdown; | 
| } | 
| + | 
| +    static fromDict(d) { | 
| +      const breakdown = Breakdown.fromEntries(d.entries); | 
| +      if (d.colorScheme) breakdown.colorScheme = d.colorScheme; | 
| +      return breakdown; | 
| +    } | 
| } | 
|  | 
| tr.v.d.Diagnostic.register(Breakdown, { | 
|  |