|
|
DescriptionSupport tracing metrics for measureTime & measureFrameTime methods in blink_perf
This CL adds support for tracing metrics with measureTime &
measureFrameTime methods in blink_perf harness.
If a test has "tracingCategories" & "traceEventsToMeasure" fields
specified, Telemetry will enable the specified tracing categories &
compute the cpu time of all the specified trace events (one per test
run).
Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/
BUG=701059
Reviewer: you can see this in action by patching this CL & run:
./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json
[ RUN ] append-child-measure-time.html
...
...
CPU times of trace event "UpdateLayoutTree":
values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms
avg 2.0804000000 ms
CPU times of trace event "FrameView::layout":
values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms
avg 5.1440000000 ms
[ RUN ] color-changes-measure-frame-time.html
...
...
CPU times of trace event "FrameView::prePaint":
values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms
avg 6.3357777778 ms
CPU times of trace event "FrameView::paintTree":
values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms
avg 30.4702222222 ms
After running the command above, the command also produces 2 trace files
locally, one for each test.
Review-Url: https://codereview.chromium.org/2819343002
Cr-Commit-Position: refs/heads/master@{#467445}
Committed: https://chromium.googlesource.com/chromium/src/+/0d2d43615b4553f00ac711f54dbcc0835f04366b
Patch Set 1 #Patch Set 2 : update #Patch Set 3 #
Total comments: 12
Patch Set 4 : address nits #Patch Set 5 : Split StartTracing & StopTracing #
Total comments: 3
Patch Set 6 : Added blink_perf tracing metrics test #Patch Set 7 : Disable testBlinkPerfTracingMetricsForMeasureTime on Android #
Messages
Total messages: 56 (36 generated)
Description was changed from ========== Initial work BUG= ========== to ========== Blink perf tracing [WIP] BUG= ==========
Patchset #1 (id:1) has been deleted
Patchset #1 (id:20001) has been deleted
Patchset #1 (id:40001) has been deleted
Patchset #1 (id:50001) has been deleted
Patchset #1 (id:70001) has been deleted
Patchset #1 (id:90001) has been deleted
Patchset #1 (id:110001) has been deleted
Description was changed from ========== Blink perf tracing [WIP] BUG= ========== to ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.layout --story-filter=measure --output-format=json --output-format=html ==========
Description was changed from ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.layout --story-filter=measure --output-format=json --output-format=html ========== to ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json ==========
Description was changed from ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json ========== to ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json ... ==========
Description was changed from ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json ... ========== to ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ==========
Description was changed from ========== Support tracing for measureTime & measureFrameTime method in blink_perf BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ========== to ========== Support tracing for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. Examples of how to use this are in blink_perf/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ==========
Description was changed from ========== Support tracing for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. Examples of how to use this are in blink_perf/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ========== to ========== Support tracing for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. If a test has "tracingCategories" & "traceEventsToMeasure" fields specified, Telemetry will enable the specified tracing categories & compute the cpu time of all the specified trace events (one per test run). Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ==========
nednguyen@google.com changed reviewers: + haraken@chromium.org, pdr@chromium.org, wangxianzhu@chromium.org
PTAL. I haven't added much unittests, please let me know if the high level direction look ok to you. One the high level are sorted out, I will add more tests
Description was changed from ========== Support tracing for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. If a test has "tracingCategories" & "traceEventsToMeasure" fields specified, Telemetry will enable the specified tracing categories & compute the cpu time of all the specified trace events (one per test run). Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ========== to ========== Support tracing for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. If a test has "tracingCategories" & "traceEventsToMeasure" fields specified, Telemetry will enable the specified tracing categories & compute the cpu time of all the specified trace events (one per test run). Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ==========
Patchset #3 (id:170001) has been deleted
Description was changed from ========== Support tracing for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. If a test has "tracingCategories" & "traceEventsToMeasure" fields specified, Telemetry will enable the specified tracing categories & compute the cpu time of all the specified trace events (one per test run). Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ========== to ========== Support tracing metrics for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. If a test has "tracingCategories" & "traceEventsToMeasure" fields specified, Telemetry will enable the specified tracing categories & compute the cpu time of all the specified trace events (one per test run). Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ==========
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
On 2017/04/19 19:09:23, nednguyen wrote: > PTAL. I haven't added much unittests, please let me know if the high level > direction look ok to you. One the high level are sorted out, I will add more > tests Ping.
The CL looks great! https://codereview.chromium.org/2819343002/diff/190001/third_party/WebKit/Per... File third_party/WebKit/PerformanceTests/resources/runner.js (right): https://codereview.chromium.org/2819343002/diff/190001/third_party/WebKit/Per... third_party/WebKit/PerformanceTests/resources/runner.js:163: window.testRunner.traceEventsToMeasure = test.traceEventsToMeasure; Nit: Use indentation (4) consistent with the original code. https://codereview.chromium.org/2819343002/diff/190001/third_party/WebKit/Per... third_party/WebKit/PerformanceTests/resources/runner.js:260: if (window.testRunner === undefined || !window.testRunner.supportTracing) Nit: !window.testRunner? https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... File tools/perf/benchmarks/blink_perf.js (right): https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.js:24: testRunner.startTracing = function(tracingCategories, scheduleTestRun) { Why traceEventsToMeasure is set as a variable while tracingCategories is passed as a parameter? Can you pass both as parameters? https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... File tools/perf/benchmarks/blink_perf.py (right): https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.py:142: curr_test_runs_bound_index += 1 Nit: remove extra space before '1'. https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.py:174: 'testRunner.isDone || testRunner.isWaitingForTracingStart', timeout=600) Nit: indent
https://codereview.chromium.org/2819343002/diff/190001/third_party/WebKit/Per... File third_party/WebKit/PerformanceTests/resources/runner.js (right): https://codereview.chromium.org/2819343002/diff/190001/third_party/WebKit/Per... third_party/WebKit/PerformanceTests/resources/runner.js:163: window.testRunner.traceEventsToMeasure = test.traceEventsToMeasure; On 2017/04/21 01:31:51, Xianzhu wrote: > Nit: Use indentation (4) consistent with the original code. Done. https://codereview.chromium.org/2819343002/diff/190001/third_party/WebKit/Per... third_party/WebKit/PerformanceTests/resources/runner.js:260: if (window.testRunner === undefined || !window.testRunner.supportTracing) On 2017/04/21 01:31:51, Xianzhu wrote: > Nit: !window.testRunner? Done. https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... File tools/perf/benchmarks/blink_perf.js (right): https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.js:24: testRunner.startTracing = function(tracingCategories, scheduleTestRun) { On 2017/04/21 01:31:51, Xianzhu wrote: > Why traceEventsToMeasure is set as a variable while tracingCategories is passed > as a parameter? Can you pass both as parameters? I want to keep startTracing to be focused on setting up the trace events required. To make the code clearer, I can refactor it to: testRunner.startTracing(tracingCategories, scheduleTestRun) {} testRunner.stopTracingAndMeasure(traceEventsToMeasure, callback) wdyt? https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... File tools/perf/benchmarks/blink_perf.py (right): https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.py:142: curr_test_runs_bound_index += 1 On 2017/04/21 01:31:51, Xianzhu wrote: > Nit: remove extra space before '1'. Done. https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.py:174: 'testRunner.isDone || testRunner.isWaitingForTracingStart', timeout=600) On 2017/04/21 01:31:51, Xianzhu wrote: > Nit: indent Done.
https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... File tools/perf/benchmarks/blink_perf.js (right): https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.js:24: testRunner.startTracing = function(tracingCategories, scheduleTestRun) { On 2017/04/24 20:55:21, nednguyen wrote: > On 2017/04/21 01:31:51, Xianzhu wrote: > > Why traceEventsToMeasure is set as a variable while tracingCategories is > passed > > as a parameter? Can you pass both as parameters? > > I want to keep startTracing to be focused on setting up the trace events > required. To make the code clearer, I can refactor it to: > testRunner.startTracing(tracingCategories, scheduleTestRun) {} > testRunner.stopTracingAndMeasure(traceEventsToMeasure, callback) > > wdyt? SGTM.
https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... File tools/perf/benchmarks/blink_perf.js (right): https://codereview.chromium.org/2819343002/diff/190001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.js:24: testRunner.startTracing = function(tracingCategories, scheduleTestRun) { On 2017/04/24 21:03:07, Xianzhu wrote: > On 2017/04/24 20:55:21, nednguyen wrote: > > On 2017/04/21 01:31:51, Xianzhu wrote: > > > Why traceEventsToMeasure is set as a variable while tracingCategories is > > passed > > > as a parameter? Can you pass both as parameters? > > > > I want to keep startTracing to be focused on setting up the trace events > > required. To make the code clearer, I can refactor it to: > > testRunner.startTracing(tracingCategories, scheduleTestRun) {} > > testRunner.stopTracingAndMeasure(traceEventsToMeasure, callback) > > > > wdyt? > > SGTM. Done.
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2819343002/diff/230001/third_party/WebKit/Per... File third_party/WebKit/PerformanceTests/resources/runner.js (right): https://codereview.chromium.org/2819343002/diff/230001/third_party/WebKit/Per... third_party/WebKit/PerformanceTests/resources/runner.js:240: currentTest.traceEventsToMeasure, function() { not sure why but here, I can't just put "testRunner.stopTracingAndMeasure(currentTest.traceEventsToMeasure, testRunner.notifyDone)". If someone who is more familiar with JS can enlighten me on this, I would really appreciate it. :P
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
lgtm https://codereview.chromium.org/2819343002/diff/230001/third_party/WebKit/Per... File third_party/WebKit/PerformanceTests/resources/runner.js (right): https://codereview.chromium.org/2819343002/diff/230001/third_party/WebKit/Per... third_party/WebKit/PerformanceTests/resources/runner.js:240: currentTest.traceEventsToMeasure, function() { On 2017/04/24 22:37:34, nednguyen wrote: > not sure why but here, I can't just put > "testRunner.stopTracingAndMeasure(currentTest.traceEventsToMeasure, > testRunner.notifyDone)". If someone who is more familiar with JS can enlighten > me on this, I would really appreciate it. :P topTracingAndMeasure(..., testRunner.notifyDone) doesn't work because callback will be called as a function without an object so notifyDone() will have no 'this' object. https://codereview.chromium.org/2819343002/diff/230001/tools/perf/benchmarks/... File tools/perf/benchmarks/blink_perf.js (right): https://codereview.chromium.org/2819343002/diff/230001/tools/perf/benchmarks/... tools/perf/benchmarks/blink_perf.js:29: testRunner.traceEventsToMeasure = traceEventsToMeasure; Nit: s/testRunner/this/ to be consistent with startTracing().
(I'll defer this review to wangxianzhu@)
On 2017/04/25 17:30:57, haraken wrote: > (I'll defer this review to wangxianzhu@) Thanks. pdr@ do you want to take a look too? If not, I will add more unittest for the code that computes tracing based metrics & land this CL.
On 2017/04/25 17:33:13, nednguyen wrote: > On 2017/04/25 17:30:57, haraken wrote: > > (I'll defer this review to wangxianzhu@) > > Thanks. pdr@ do you want to take a look too? If not, I will add more unittest > for the code that computes tracing based metrics & land this CL. I added tests for the tracing metrics computation. Landing now..
The CQ bit was checked by nednguyen@google.com
The patchset sent to the CQ was uploaded after l-g-t-m from wangxianzhu@chromium.org Link to the patchset: https://codereview.chromium.org/2819343002/#ps250001 (title: "Added blink_perf tracing metrics test")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by nednguyen@google.com
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
testBlinkPerfTracingMetricsForMeasureTime keeps failing on linux_android_rel_ng, so I am disabling it to land this. Filed crbug.com/715685
The CQ bit was checked by nednguyen@google.com
The patchset sent to the CQ was uploaded after l-g-t-m from wangxianzhu@chromium.org Link to the patchset: https://codereview.chromium.org/2819343002/#ps270001 (title: "Disable testBlinkPerfTracingMetricsForMeasureTime on Android")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 270001, "attempt_start_ts": 1493231375584960, "parent_rev": "9371e23b8b90027373ba8c27f60698ee42ef94dd", "commit_rev": "0d2d43615b4553f00ac711f54dbcc0835f04366b"}
Message was sent while issue was closed.
Description was changed from ========== Support tracing metrics for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. If a test has "tracingCategories" & "traceEventsToMeasure" fields specified, Telemetry will enable the specified tracing categories & compute the cpu time of all the specified trace events (one per test run). Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. ========== to ========== Support tracing metrics for measureTime & measureFrameTime methods in blink_perf This CL adds support for tracing metrics with measureTime & measureFrameTime methods in blink_perf harness. If a test has "tracingCategories" & "traceEventsToMeasure" fields specified, Telemetry will enable the specified tracing categories & compute the cpu time of all the specified trace events (one per test run). Detailed examples of how to use this new API are in third_party/WebKit/PerformanceTests/TestData/ BUG=701059 Reviewer: you can see this in action by patching this CL & run: ./tools/perf/run_benchmark --browser=system blink_perf.testing --story-filter=frame --output-format=json [ RUN ] append-child-measure-time.html ... ... CPU times of trace event "UpdateLayoutTree": values 1.8760000000, 3.2080000000, 3.4260000000, 1.9020000000, 1.6990000000, 2.2940000000, 1.8570000000, 1.7100000000, 1.4170000000, 1.4150000000 ms avg 2.0804000000 ms CPU times of trace event "FrameView::layout": values 4.6150000000, 8.3140000000, 8.6080000000, 4.4360000000, 4.0940000000, 5.9130000000, 4.5970000000, 3.9440000000, 3.4590000000, 3.4600000000 ms avg 5.1440000000 ms [ RUN ] color-changes-measure-frame-time.html ... ... CPU times of trace event "FrameView::prePaint": values 5.9890000000, 5.9640000000, 6.2360000000, 6.3870000000, 5.9490000000, 6.3450000000, 6.3340000000, 6.9270000000, 6.8910000000 ms avg 6.3357777778 ms CPU times of trace event "FrameView::paintTree": values 30.0950000000, 30.5020000000, 30.6510000000, 30.3380000000, 30.4160000000, 30.3480000000, 30.5110000000, 30.7570000000, 30.6140000000 ms avg 30.4702222222 ms After running the command above, the command also produces 2 trace files locally, one for each test. Review-Url: https://codereview.chromium.org/2819343002 Cr-Commit-Position: refs/heads/master@{#467445} Committed: https://chromium.googlesource.com/chromium/src/+/0d2d43615b4553f00ac711f54dbc... ==========
Message was sent while issue was closed.
Committed patchset #7 (id:270001) as https://chromium.googlesource.com/chromium/src/+/0d2d43615b4553f00ac711f54dbc...
Message was sent while issue was closed.
A revert of this CL (patchset #7 id:270001) has been created in https://codereview.chromium.org/2844873002/ by alph@chromium.org. The reason for reverting is: Seems to broke telemetry tests https://build.chromium.org/p/chromium.mac/builders/Mac10.9%20Tests%20%28dbg%2....
Message was sent while issue was closed.
alph@chromium.org changed reviewers: + alph@chromium.org
Message was sent while issue was closed.
The right link to the failing bot: https://build.chromium.org/p/chromium.win/builders/Win%207%20Tests%20x64%20%2... |