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

Issue 898673005: [telemetry] Add a V8GCTimes measurement and benchmarks. (Closed)

Created:
5 years, 10 months ago by rmcilroy
Modified:
5 years, 10 months ago
CC:
chromium-reviews, Hannes Payer (out of office), jochen (gone - plz use gerrit), picksi1, telemetry-reviews_chromium.org, ulan
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[telemetry] Add a V8GCTimes measurement and benchmarks. Replaces the v8_stats metric with a v8_gc_times measurement. This new measurement measures the amount of time spent in GC during the whole benchmark rather than just during gestures. The following gc metrics are measured: v8_gc_incremental_marking v8_gc_incremental_marking_idle_deadline_overrun v8_gc_incremental_marking_outside_idle v8_gc_incremental_marking_percentage_idle v8_gc_mark_compactor v8_gc_mark_compactor_idle_deadline_overrun v8_gc_mark_compactor_outside_idle v8_gc_mark_compactor_percentage_idle v8_gc_scavenger v8_gc_scavenger_idle_deadline_overrun v8_gc_scavenger_outside_idle v8_gc_scavenger_percentage_idle v8_gc_total v8_gc_total_idle_deadline_overrun v8_gc_total_outside_idle It also measures the duration of the measurement and the amount of CPU time used. The v8_garbage_collection_cases benchmark is modified to use this new v8_gc_times measurement, and v8.top_25_smooth and v8.key_mobile_sites_smooth benchmarks have been added. Since v8_garbage_collection_cases was the only benchmark to use the is_fast metric type, and these measurements are now done as part of the v8_gc_times measurement now, this CL also removes the fast metric type. Perf Sherrifs: Since this CL changes he way in which the GC measurements are done it may cause a movement in the v8_garbage_collection_cases benchmarks. Committed: https://crrev.com/452de5927e54e1da0d57a4b2df8b447f4d442360 Cr-Commit-Position: refs/heads/master@{#314868} Committed: https://crrev.com/e65bf3eeb5227de0bb05f08169719d06e518de8b Cr-Commit-Position: refs/heads/master@{#315550} Committed: https://crrev.com/a398f4b4d5836a37ded04049378860636b430291 Cr-Commit-Position: refs/heads/master@{#315756}

Patch Set 1 #

Total comments: 16

Patch Set 2 : Review comments. #

Total comments: 3

Patch Set 3 : Resync #

Patch Set 4 : Disable on ref builds. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+496 lines, -481 lines) Patch
M tools/perf/benchmarks/v8.py View 1 2 3 1 chunk +29 lines, -7 lines 0 comments Download
A tools/perf/measurements/v8_gc_times.py View 1 1 chunk +191 lines, -0 lines 0 comments Download
A tools/perf/measurements/v8_gc_times_unittest.py View 1 1 chunk +262 lines, -0 lines 0 comments Download
M tools/perf/page_sets/garbage_collection_cases.py View 1 chunk +1 line, -2 lines 0 comments Download
M tools/telemetry/telemetry/page/actions/action_runner.py View 1 6 chunks +6 lines, -12 lines 0 comments Download
M tools/telemetry/telemetry/page/actions/action_runner_unittest.py View 1 chunk +1 line, -2 lines 0 comments Download
D tools/telemetry/telemetry/web_perf/metrics/fast_metric.py View 1 chunk +0 lines, -101 lines 0 comments Download
D tools/telemetry/telemetry/web_perf/metrics/fast_metric_unittest.py View 1 chunk +0 lines, -216 lines 0 comments Download
D tools/telemetry/telemetry/web_perf/metrics/v8_stats.py View 1 chunk +0 lines, -64 lines 0 comments Download
M tools/telemetry/telemetry/web_perf/timeline_based_measurement.py View 1 4 chunks +2 lines, -12 lines 0 comments Download
M tools/telemetry/telemetry/web_perf/timeline_based_measurement_unittest.py View 1 6 chunks +2 lines, -55 lines 0 comments Download
M tools/telemetry/telemetry/web_perf/timeline_interaction_record.py View 1 5 chunks +2 lines, -10 lines 0 comments Download

Messages

Total messages: 37 (9 generated)
rmcilroy
Sami: Could you please take a look, thanks. Jochen/Hannes/Simon: FYI but comments are welcome.
5 years, 10 months ago (2015-02-04 12:03:54 UTC) #2
Hannes Payer (out of office)
Awesome!!!
5 years, 10 months ago (2015-02-04 12:14:48 UTC) #4
Sami
Looks great! Couple of dumb questions below. https://codereview.chromium.org/898673005/diff/1/tools/perf/measurements/v8_gc_times.py File tools/perf/measurements/v8_gc_times.py (right): https://codereview.chromium.org/898673005/diff/1/tools/perf/measurements/v8_gc_times.py#newcode28 tools/perf/measurements/v8_gc_times.py:28: 'gc_incremental_marking', I ...
5 years, 10 months ago (2015-02-04 19:19:29 UTC) #5
Hannes Payer (out of office)
+ulan
5 years, 10 months ago (2015-02-05 10:51:35 UTC) #6
rmcilroy
Thanks for the review. https://codereview.chromium.org/898673005/diff/1/tools/perf/measurements/v8_gc_times.py File tools/perf/measurements/v8_gc_times.py (right): https://codereview.chromium.org/898673005/diff/1/tools/perf/measurements/v8_gc_times.py#newcode28 tools/perf/measurements/v8_gc_times.py:28: 'gc_incremental_marking', On 2015/02/04 19:19:28, Sami ...
5 years, 10 months ago (2015-02-05 16:23:25 UTC) #7
Sami
Thanks, lgtm! https://codereview.chromium.org/898673005/diff/1/tools/perf/measurements/v8_gc_times.py File tools/perf/measurements/v8_gc_times.py (right): https://codereview.chromium.org/898673005/diff/1/tools/perf/measurements/v8_gc_times.py#newcode74 tools/perf/measurements/v8_gc_times.py:74: if event_stat: On 2015/02/05 16:23:25, rmcilroy wrote: ...
5 years, 10 months ago (2015-02-05 17:29:31 UTC) #8
rmcilroy
https://codereview.chromium.org/898673005/diff/20001/tools/perf/measurements/v8_gc_times.py File tools/perf/measurements/v8_gc_times.py (right): https://codereview.chromium.org/898673005/diff/20001/tools/perf/measurements/v8_gc_times.py#newcode91 tools/perf/measurements/v8_gc_times.py:91: event.duration - idle_task_wall_overrun, event.duration) On 2015/02/05 17:29:31, Sami wrote: ...
5 years, 10 months ago (2015-02-05 18:06:19 UTC) #9
Sami
https://codereview.chromium.org/898673005/diff/20001/tools/perf/measurements/v8_gc_times.py File tools/perf/measurements/v8_gc_times.py (right): https://codereview.chromium.org/898673005/diff/20001/tools/perf/measurements/v8_gc_times.py#newcode91 tools/perf/measurements/v8_gc_times.py:91: event.duration - idle_task_wall_overrun, event.duration) On 2015/02/05 18:06:19, rmcilroy wrote: ...
5 years, 10 months ago (2015-02-05 18:13:01 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/898673005/20001
5 years, 10 months ago (2015-02-05 19:24:00 UTC) #12
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 10 months ago (2015-02-05 20:49:07 UTC) #13
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/452de5927e54e1da0d57a4b2df8b447f4d442360 Cr-Commit-Position: refs/heads/master@{#314868}
5 years, 10 months ago (2015-02-05 20:50:10 UTC) #14
Sami
A revert of this CL (patchset #2 id:20001) has been created in https://codereview.chromium.org/904903002/ by skyostil@chromium.org. ...
5 years, 10 months ago (2015-02-06 15:05:14 UTC) #15
rmcilroy
On 2015/02/06 15:05:14, Sami wrote: > A revert of this CL (patchset #2 id:20001) has ...
5 years, 10 months ago (2015-02-10 12:39:39 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/898673005/40001
5 years, 10 months ago (2015-02-10 12:40:20 UTC) #19
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 10 months ago (2015-02-10 13:41:02 UTC) #20
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/e65bf3eeb5227de0bb05f08169719d06e518de8b Cr-Commit-Position: refs/heads/master@{#315550}
5 years, 10 months ago (2015-02-10 13:41:53 UTC) #21
rmcilroy
A revert of this CL (patchset #3 id:40001) has been created in https://codereview.chromium.org/908223003/ by rmcilroy@chromium.org. ...
5 years, 10 months ago (2015-02-10 17:18:45 UTC) #22
Sami
On 2015/02/10 at 17:18:45, rmcilroy wrote: > A revert of this CL (patchset #3 id:40001) ...
5 years, 10 months ago (2015-02-10 17:29:16 UTC) #23
rmcilroy
On 2015/02/10 17:29:16, Sami wrote: > On 2015/02/10 at 17:18:45, rmcilroy wrote: > > A ...
5 years, 10 months ago (2015-02-10 18:04:13 UTC) #24
rmcilroy
On 2015/02/10 18:04:13, rmcilroy wrote: > On 2015/02/10 17:29:16, Sami wrote: > > On 2015/02/10 ...
5 years, 10 months ago (2015-02-11 11:15:36 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/898673005/60001
5 years, 10 months ago (2015-02-11 11:16:13 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: win_gpu on tryserver.chromium.gpu (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.gpu/builders/win_gpu/builds/122445) win_gpu_triggered_tests on tryserver.chromium.gpu (JOB_FAILED, ...
5 years, 10 months ago (2015-02-11 13:28:23 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/898673005/60001
5 years, 10 months ago (2015-02-11 13:33:37 UTC) #31
commit-bot: I haz the power
Committed patchset #4 (id:60001)
5 years, 10 months ago (2015-02-11 14:31:04 UTC) #32
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/a398f4b4d5836a37ded04049378860636b430291 Cr-Commit-Position: refs/heads/master@{#315756}
5 years, 10 months ago (2015-02-11 14:31:35 UTC) #33
nduca
why are we moving stuff to perf/? That seems backward from the trend to have ...
5 years, 10 months ago (2015-02-17 17:30:05 UTC) #35
nduca
also i think we should discuss the rationale to move away from tbm instead of ...
5 years, 10 months ago (2015-02-17 17:32:14 UTC) #36
rmcilroy
5 years, 10 months ago (2015-02-18 09:25:12 UTC) #37
Message was sent while issue was closed.
On 2015/02/17 17:32:14, nduca wrote:
> also i think we should discuss the rationale to move away from tbm instead of
> enhancing tbm to do what was desired :(

I wasn't aware of a trend to get stuff out of perf/ and into timeline metrics -
I was basing these benchmarks on the recent task_execution_times benchmark,
which is also in perf/.  Is there any mail / bug explaining the rational /
advantages of moving things out of perf/ into tbm?

The reason I moved this to perf/ was that we wanted the benchmark to calculate
the metric across the whole page loading, not just during gestures as the
previous approach did.  We also wanted to run the top_25 and key_mobile sites
benchmarks which hadn't been possible due the hard-coding of the interaction
records (i.e., requiring is_fast for the interaction records for those pages),
and due to the fact that they would need to run with V8 overhead level which the
TODOs suggested should go away.  We couldn't wait for the interaction record
refactoring because we had been missing some GC regressions due to the fact that
we weren't running the GC benchmarks on real page-sets, so this is what we ended
up with.

Happy to discuss in person about how we can move this back to tbm once the
necessary refactoring has been done on tbm.

Powered by Google App Engine
This is Rietveld 408576698