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

Issue 2000063006: Define DiagnosticMap and a basic Diagnostic hierarchy (Closed)

Created:
4 years, 7 months ago by benjhayden
Modified:
4 years, 6 months ago
CC:
catapult-reviews_chromium.org, tracing-review_chromium.org
Base URL:
https://github.com/catapult-project/catapult.git@master
Target Ref:
refs/heads/master
Project:
catapult
Visibility:
Public.

Description

Define DiagnosticMap and a basic Diagnostic hierarchy. Currently, Value.diagnostics is a free-form dictionary. Metrics can add anything they want to it! The problem is that metrics don't know what to add to it. This CL defines a simple hierarchy of strongly-typed Diagnostics (Generic, RelatedValueSet, Composition), with nice APIs like DiagnosticMap and RelatedValueSet. Each subtype of Diagnostic is defined and registered in its own file, so anybody can define and register a new kind of Diagnostic. A followup CL will define a diagnostic-map-view and a registry of diagnostic views for the different types of Diagnostics. https://docs.google.com/document/d/1F7A0WRVC-aYHSz_rDnEBzDpjEDJl0_1Kjb9IKrpAhok/edit In order to support the new RelatedValueSet and Composition diagnostics, placeholder ValueRef objects are resolved into Values using ValueSet after all Values are imported from dicts, so that individual Values can be imported without their entire ValueSet. The canonical_url diagnostic is unused, so this CL removes it. Grouping keys are removed from Values as a first step towards refactoring them into diagnostics, since this CL already significantly changes the Value API. A followup CL will refactor Value's opt_options and remove 'important'. The only metric that made extensive use of diagnostics was hazardMetric, which is being refactored to not use diagnostics anyway: https://codereview.chromium.org/1992303003 BUG=catapult:#2180 Committed: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/1fe25d215145ad371fecf08378aada9730086495

Patch Set 1 #

Patch Set 2 : . #

Total comments: 2

Patch Set 3 : comments #

Patch Set 4 : . #

Patch Set 5 : comments #

Patch Set 6 : . #

Patch Set 7 : tests #

Patch Set 8 : update tracingMetric #

Total comments: 29

Patch Set 9 : comments #

Patch Set 10 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+572 lines, -368 lines) Patch
M telemetry/telemetry/internal/results/html2_output_formatter.py View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M telemetry/telemetry/value/common_value_helpers.py View 1 2 3 4 2 chunks +1 line, -2 lines 0 comments Download
M telemetry/telemetry/value/common_value_helpers_unittest.py View 1 2 3 4 2 chunks +2 lines, -6 lines 0 comments Download
M tracing/trace_viewer.gypi View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M tracing/tracing/metrics/metric_map_function_test.html View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M tracing/tracing/metrics/metric_registry_test.html View 1 2 3 chunks +6 lines, -12 lines 0 comments Download
M tracing/tracing/metrics/sample_metric.html View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M tracing/tracing/metrics/system_health/efficiency_metric.html View 1 2 3 4 5 6 7 8 9 3 chunks +2 lines, -12 lines 0 comments Download
M tracing/tracing/metrics/system_health/first_paint_metric.html View 1 2 1 chunk +1 line, -1 line 0 comments Download
M tracing/tracing/metrics/system_health/hazard_metric.html View 1 2 3 4 3 chunks +4 lines, -27 lines 0 comments Download
M tracing/tracing/metrics/system_health/hazard_metric_test.html View 1 2 3 4 3 chunks +0 lines, -20 lines 0 comments Download
M tracing/tracing/metrics/system_health/memory_metric.html View 1 2 2 chunks +0 lines, -2 lines 0 comments Download
M tracing/tracing/metrics/system_health/memory_metric_test.html View 2 chunks +0 lines, -3 lines 0 comments Download
M tracing/tracing/metrics/system_health/power_metric.html View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -5 lines 0 comments Download
M tracing/tracing/metrics/system_health/power_metric_test.html View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -6 lines 0 comments Download
M tracing/tracing/metrics/system_health/responsiveness_metric.html View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M tracing/tracing/metrics/tracing_metric.html View 1 2 3 4 5 6 7 2 chunks +20 lines, -21 lines 0 comments Download
M tracing/tracing/metrics/v8/execution_metric.html View 1 2 8 chunks +20 lines, -20 lines 0 comments Download
M tracing/tracing/metrics/v8/gc_metric.html View 1 2 5 chunks +8 lines, -14 lines 0 comments Download
M tracing/tracing/metrics/v8/gc_metric_test.html View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M tracing/tracing/metrics/value_set.html View 1 2 3 4 5 6 7 8 3 chunks +31 lines, -6 lines 0 comments Download
M tracing/tracing/metrics/value_set_test.html View 1 2 3 4 5 6 7 8 3 chunks +61 lines, -3 lines 0 comments Download
M tracing/tracing/ui/analysis/single_user_expectation_sub_view.html View 1 2 3 4 1 chunk +0 lines, -37 lines 0 comments Download
A tracing/tracing/value/diagnostics/composition.html View 1 2 3 4 5 6 7 8 1 chunk +33 lines, -0 lines 0 comments Download
A tracing/tracing/value/diagnostics/diagnostic.html View 1 2 3 4 5 6 7 8 1 chunk +60 lines, -0 lines 0 comments Download
A tracing/tracing/value/diagnostics/diagnostic_map.html View 1 2 3 4 5 6 7 8 1 chunk +88 lines, -0 lines 0 comments Download
A tracing/tracing/value/diagnostics/generic.html View 1 2 3 4 5 6 7 8 1 chunk +44 lines, -0 lines 0 comments Download
A tracing/tracing/value/diagnostics/related_value_set.html View 1 2 3 4 5 6 7 8 1 chunk +92 lines, -0 lines 0 comments Download
M tracing/tracing/value/value.html View 1 2 3 4 5 6 7 8 13 chunks +53 lines, -97 lines 0 comments Download
M tracing/tracing/value/value_test.html View 1 2 3 4 5 6 4 chunks +26 lines, -63 lines 0 comments Download

Messages

Total messages: 39 (23 generated)
eakuefner
canonicalUrl is a dumb; let's get rid of it. We will probably get rid of ...
4 years, 7 months ago (2016-05-25 21:30:29 UTC) #6
benjhayden
Thanks! PTAL.
4 years, 7 months ago (2016-05-26 00:42:13 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2000063006/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2000063006/80001
4 years, 7 months ago (2016-05-26 00:42:22 UTC) #10
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-05-26 01:05:23 UTC) #13
commit-bot: I haz the power
Dry run: None
4 years, 7 months ago (2016-05-26 01:05:31 UTC) #14
nednguyen
lgtm Looks like we can also remove the important field since we have the graphical ...
4 years, 7 months ago (2016-05-27 00:28:52 UTC) #15
nednguyen
4 years, 7 months ago (2016-05-27 00:29:13 UTC) #17
eakuefner
lgtm; +1 to killing important. You can just set important=False in the Python if need ...
4 years, 7 months ago (2016-05-27 00:43:21 UTC) #18
petrcermak
I'm happy to see this change remove unused parts of the codebase. However, please document ...
4 years, 6 months ago (2016-05-27 08:58:46 UTC) #19
benjhayden
Thanks! PTAL? https://codereview.chromium.org/2000063006/diff/140001/tracing/tracing/metrics/system_health/hazard_metric.html File tracing/tracing/metrics/system_health/hazard_metric.html (left): https://codereview.chromium.org/2000063006/diff/140001/tracing/tracing/metrics/system_health/hazard_metric.html#oldcode146 tracing/tracing/metrics/system_health/hazard_metric.html:146: values.addValue(new tr.v.NumericValue( On 2016/05/27 at 08:58:44, petrcermak ...
4 years, 6 months ago (2016-05-27 18:59:16 UTC) #25
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2000063006/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2000063006/160001
4 years, 6 months ago (2016-05-27 20:45:44 UTC) #27
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-05-27 21:08:15 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2000063006/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2000063006/160001
4 years, 6 months ago (2016-05-27 22:39:51 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: Catapult Presubmit on master.tryserver.client.catapult (JOB_FAILED, https://build.chromium.org/p/tryserver.client.catapult/builders/Catapult%20Presubmit/builds/2813)
4 years, 6 months ago (2016-05-27 23:49:28 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2000063006/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2000063006/180001
4 years, 6 months ago (2016-05-31 17:54:27 UTC) #37
commit-bot: I haz the power
4 years, 6 months ago (2016-05-31 18:16:56 UTC) #39
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/external/github.com/catapult-project/catapu...

Powered by Google App Engine
This is Rietveld 408576698