| 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 |