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

Side by Side Diff: docs/how-to-write-metrics.md

Issue 3009553002: Refactor Histogram relationship diagnostics. (Closed)
Patch Set: Created 3 years, 3 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 unified diff | Download patch
« no previous file with comments | « docs/histogram-set-json-format.md ('k') | docs/metrics-results-ui.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 # How to Write Metrics 6 # How to Write Metrics
7 7
8 Timeline-Based Measurement v2 is a system for computing metrics from traces. 8 Timeline-Based Measurement v2 is a system for computing metrics from traces.
9 9
10 A TBM2 metric is a Javascript function that takes a trace Model and produces 10 A TBM2 metric is a Javascript function that takes a trace Model and produces
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 140
141 ![](/docs/images/how-to-write-metrics-related-event-set.png) 141 ![](/docs/images/how-to-write-metrics-related-event-set.png)
142 142
143 * [DateRange](/tracing/tracing/value/diagnostics/date_range.html): 143 * [DateRange](/tracing/tracing/value/diagnostics/date_range.html):
144 This is a Range of Dates. It cannot be empty, but the minDate could be the 144 This is a Range of Dates. It cannot be empty, but the minDate could be the
145 same as the maxDate. Telemetry automatically adds 2 shared DateRanges to all 145 same as the maxDate. Telemetry automatically adds 2 shared DateRanges to all
146 results: 'benchmarkStart' and 'traceStart'. 146 results: 'benchmarkStart' and 'traceStart'.
147 147
148 ![](/docs/images/how-to-write-metrics-date-range.png) 148 ![](/docs/images/how-to-write-metrics-date-range.png)
149 149
150 ### Histogram Relationship Diagnostics
151 150
152 * [RelatedHistogramMap](/tracing/tracing/value/diagnostics/related_histogram_ma p.html): 151 ### Related Histogram Name Map
153 These are Maps from strings to references to other Histograms. Visually, they
154 are a set of HTML links where the text content of the link is the Map's
155 string key instead of the Histogram's name. One example application is when a
156 Histogram was produced not directly by a metric, but rather by merging
157 together other Histograms, then it will have a RelatedHistogramMap named
158 'mergedFrom' that refers to the Histograms that were merged by their grouping
159 key, e.g. the telemetry story name.
160 152
161 ![](/docs/images/how-to-write-metrics-related-histogram-map.png) 153 * [RelatedNameMap](/tracing/tracing/value/diagnostics/related_name_map.html):
162 154 This maps from short keys to Histogram name. These are correlated with
163 * [RelatedHistogramBreakdown](/tracing/tracing/value/diagnostics/related_histog ram_breakdown.html): 155 Breakdowns. They are visualized as HTML links.
164 Structurally, this is a RelatedHistogramMap, but conceptually and visually, t his
165 is a Breakdown. Whereas Breakdown's stacked bar chart derives its data from
166 the numbers contained explicitly in the Breakdown, a
167 RelatedHistogramBreakdown's stacked
168 bar chart derives its data from the referenced Histograms' sums.
169
170 ![](/docs/images/how-to-write-metrics-related-histogram-breakdown.png)
171 156
172 157
173 ### Other Diagnostics 158 ### Other Diagnostics
174 159
175 * [Scalar](/tracing/tracing/value/diagnostics/scalar.html): 160 * [Scalar](/tracing/tracing/value/diagnostics/scalar.html):
176 Metrics must not use this, since it is incapable of being merged. It is 161 Metrics must not use this, since it is incapable of being merged. It is
177 mentioned here for completeness. It wraps a Scalar, which is just a 162 mentioned here for completeness. It wraps a Scalar, which is just a
178 unitted number. This is only to allow Histograms in other parts of the trace 163 unitted number. This is only to allow Histograms in other parts of the trace
179 viewer to display number sample diagnostics more intelligently than 164 viewer to display number sample diagnostics more intelligently than
180 GenericSet can. If a metric wants to display number sample diagnostics 165 GenericSet can. If a metric wants to display number sample diagnostics
181 intelligently, then it should use RelatedHistogramMap; if it does not want to 166 intelligently, then it should use Breakdown; if it does not want to
182 monitor changes in those numbers, then the TBM2 maintainers can add a 167 monitor changes in those numbers, then the TBM2 maintainers can add a
183 HistogramDiagnostic that supports merging. 168 HistogramDiagnostic that supports merging.
184 169
185 170
186 ### Reserved Names 171 ### Reserved Names
187 172
188 Metrics may not use the following names for Histogram-level Diagnostics. 173 Metrics may not use the following names for Histogram-level Diagnostics.
189 174
190 * angleRevisions is a GenericSet of strings containing 175 * angleRevisions is a GenericSet of strings containing
191 [Angle](https://chromium.googlesource.com/angle/angle/) git hashes. 176 [Angle](https://chromium.googlesource.com/angle/angle/) git hashes.
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 * Instead of having one category for all story grouping keys, each grouping 279 * Instead of having one category for all story grouping keys, each grouping
295 individual grouping key may be listed as a category. For example, in Page 280 individual grouping key may be listed as a category. For example, in Page
296 Cycler v2 benchmarks, the "cache_temperature" grouping key would be 281 Cycler v2 benchmarks, the "cache_temperature" grouping key would be
297 displayed as a category. 282 displayed as a category.
298 * Choosing groups builds a hierarchy of histograms that is filled in by merging 283 * Choosing groups builds a hierarchy of histograms that is filled in by merging
299 histograms from the bottom up. Expanding the rows of histogram-set-table, any 284 histograms from the bottom up. Expanding the rows of histogram-set-table, any
300 leaf nodes are histograms that were loaded, and their ancestors are computed b y 285 leaf nodes are histograms that were loaded, and their ancestors are computed b y
301 merging. 286 merging.
302 * histogram-set-table uses the "label" HistogramGrouping to define the columns 287 * histogram-set-table uses the "label" HistogramGrouping to define the columns
303 of the table. 288 of the table.
OLDNEW
« no previous file with comments | « docs/histogram-set-json-format.md ('k') | docs/metrics-results-ui.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698