| OLD | NEW | 
|---|
| 1 <!-- Copyright 2016 The Chromium Authors. All rights reserved. | 1 <!-- Copyright 2016 The Chromium Authors. All rights reserved. | 
| 2      Use of this source code is governed by a BSD-style license that can be | 2      Use of this source code is governed by a BSD-style license that can be | 
| 3      found in the LICENSE file. | 3      found in the LICENSE file. | 
| 4 --> | 4 --> | 
| 5 | 5 | 
| 6 # HistogramSet JSON Format | 6 # HistogramSet JSON Format | 
| 7 | 7 | 
| 8 This document assumes familiarity with the concepts introduced in | 8 This document assumes familiarity with the concepts introduced in | 
| 9 [how-to-write-metrics](/docs/how-to-write-metrics.md). | 9 [how-to-write-metrics](/docs/how-to-write-metrics.md). | 
| 10 | 10 | 
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 54     "values": ["browse:news:cnn"], | 54     "values": ["browse:news:cnn"], | 
| 55   }, | 55   }, | 
| 56 ] | 56 ] | 
| 57 ``` | 57 ``` | 
| 58 | 58 | 
| 59 ## Histograms | 59 ## Histograms | 
| 60 | 60 | 
| 61 ### Required fields | 61 ### Required fields | 
| 62 | 62 | 
| 63  * `name`: any string | 63  * `name`: any string | 
| 64  * `guid`: string UUID, allows Histograms to reference other Histograms via | 64  * `guid`: string UUID | 
| 65    RelatedHistogram Diagnostics |  | 
| 66  * `unit`: underscore-separated string of 1 or 2 parts: | 65  * `unit`: underscore-separated string of 1 or 2 parts: | 
| 67     * The required unit base name must be one of | 66     * The required unit base name must be one of | 
| 68        * ms | 67        * ms | 
| 69        * tsMs | 68        * tsMs | 
| 70        * n% | 69        * n% | 
| 71        * sizeInBytes | 70        * sizeInBytes | 
| 72        * J | 71        * J | 
| 73        * W | 72        * W | 
| 74        * unitless | 73        * unitless | 
| 75        * count | 74        * count | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 118 | 117 | 
| 119 DiagnosticMap is a dictionary mapping strings to Diagnostic dictionaries. | 118 DiagnosticMap is a dictionary mapping strings to Diagnostic dictionaries. | 
| 120 | 119 | 
| 121 ## Diagnostics | 120 ## Diagnostics | 
| 122 | 121 | 
| 123 The only field that is required for all Diagnostics, `type`, must be one of | 122 The only field that is required for all Diagnostics, `type`, must be one of | 
| 124  * `Breakdown` | 123  * `Breakdown` | 
| 125  * `DateRange` | 124  * `DateRange` | 
| 126  * `GenericSet` | 125  * `GenericSet` | 
| 127  * `RelatedEventSet` | 126  * `RelatedEventSet` | 
| 128  * `RelatedHistogramBreakdown` | 127  * `RelatedNameMap` | 
| 129  * `RelatedHistogramMap` |  | 
| 130  * `Scalar` | 128  * `Scalar` | 
| 131 | 129 | 
| 132 If a Diagnostic is in the root array of the JSON, then it is shared, so it may b
     e | 130 If a Diagnostic is in the root array of the JSON, then it is shared, so it may b
     e | 
| 133 referenced by multiple Histograms. Shared Diagnostics must contain a string | 131 referenced by multiple Histograms. Shared Diagnostics must contain a string | 
| 134 field `guid` containing a UUID. | 132 field `guid` containing a UUID. | 
| 135 | 133 | 
| 136 If a Diagnostic is contained in a Histogram, then it must not have a `guid` | 134 If a Diagnostic is contained in a Histogram, then it must not have a `guid` | 
| 137 field. | 135 field. | 
| 138 | 136 | 
| 139 The other fields of Diagnostic dictionaries depend on `type`. | 137 The other fields of Diagnostic dictionaries depend on `type`. | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 160  * `values`: array of any JSON data. | 158  * `values`: array of any JSON data. | 
| 161 | 159 | 
| 162 ### RelatedEventSet | 160 ### RelatedEventSet | 
| 163 | 161 | 
| 164 This allows metrics to explain the magnitude of a sample as a parameter of a | 162 This allows metrics to explain the magnitude of a sample as a parameter of a | 
| 165 specific event or set of events in a trace. | 163 specific event or set of events in a trace. | 
| 166 | 164 | 
| 167  * `events`: array of dictionaries containing `stableId`, `title`, `start`, | 165  * `events`: array of dictionaries containing `stableId`, `title`, `start`, | 
| 168    `duration` fields of Events | 166    `duration` fields of Events | 
| 169 | 167 | 
| 170 ### RelatedHistogramMap |  | 
| 171 | 168 | 
| 172 This allows metrics to annotate which Histograms are related to other | 169 ### RelatedNameMap | 
| 173 Histograms, and annotate the nature of the relationship with a custom string |  | 
| 174 name. |  | 
| 175 | 170 | 
| 176  * `values`: dictionary mapping from custom string name to the related | 171 This is a Map from short descriptive names to full Histogram names. | 
| 177    Histogram's string guid |  | 
| 178 | 172 | 
| 179 ### RelatedHistogramBreakdown | 173  * `names`: a dictionary mapping strings to strings containing Histogram names. | 
| 180 |  | 
| 181 This allows metrics to explain the magnitudes of the samples in a Histogram |  | 
| 182 collectively as composed of various categories. |  | 
| 183 |  | 
| 184  * `values`: dictionary mapping from custom string name to the related |  | 
| 185    Histogram's string guid |  | 
| 186 | 174 | 
| 187 ### Scalar | 175 ### Scalar | 
| 188 | 176 | 
| 189 Metrics should not use Scalar diagnostics since they cannot be safely merged. | 177 Metrics should not use Scalar diagnostics since they cannot be safely merged. | 
| 190 | 178 | 
| 191  * `value`: a dictionary containing a string `unit` and a number `value` | 179  * `value`: a dictionary containing a string `unit` and a number `value` | 
| OLD | NEW | 
|---|