summaryrefslogtreecommitdiff
path: root/chromium/docs/speed
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-03-12 09:13:00 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-03-16 09:58:26 +0000
commit03561cae90f1d99b5c54b1ef3be69f10e882b25e (patch)
treecc5f0958e823c044e7ae51cc0117fe51432abe5e /chromium/docs/speed
parentfa98118a45f7e169f8846086dc2c22c49a8ba310 (diff)
downloadqtwebengine-chromium-03561cae90f1d99b5c54b1ef3be69f10e882b25e.tar.gz
BASELINE: Update Chromium to 88.0.4324.208
Change-Id: I3ae87d23e4eff4b4a469685658740a213600c667 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/docs/speed')
-rw-r--r--chromium/docs/speed/DIR_METADATA11
-rw-r--r--chromium/docs/speed/OWNERS4
-rw-r--r--chromium/docs/speed/benchmark/DIR_METADATA11
-rw-r--r--chromium/docs/speed/benchmark/OWNERS1
-rw-r--r--chromium/docs/speed/benchmark/harnesses/rendering.md2
-rw-r--r--chromium/docs/speed/binary_size/DIR_METADATA11
-rw-r--r--chromium/docs/speed/binary_size/OWNERS1
-rw-r--r--chromium/docs/speed/binary_size/android_binary_size_trybot.md4
-rw-r--r--chromium/docs/speed/bot_health_sheriffing/main.md4
-rw-r--r--chromium/docs/speed/images/DIR_METADATA11
-rw-r--r--chromium/docs/speed/images/OWNERS1
-rw-r--r--chromium/docs/speed/metrics_changelog/2020_10_cls.md76
-rw-r--r--chromium/docs/speed/metrics_changelog/2020_10_cls_2.md24
-rw-r--r--chromium/docs/speed/metrics_changelog/2020_11_cls.md52
-rw-r--r--chromium/docs/speed/metrics_changelog/2020_12_cls.md26
-rw-r--r--chromium/docs/speed/metrics_changelog/cls.md14
-rw-r--r--chromium/docs/speed/metrics_changelog/images/CLS_M85_Example1.pngbin0 -> 20432 bytes
-rw-r--r--chromium/docs/speed/metrics_changelog/images/CLS_M85_Example2.pngbin0 -> 26274 bytes
-rw-r--r--chromium/docs/speed/metrics_changelog/images/CLS_M86_Example1.pngbin0 -> 20188 bytes
-rw-r--r--chromium/docs/speed/metrics_changelog/images/CLS_M86_Example2.pngbin0 -> 29590 bytes
-rw-r--r--chromium/docs/speed/metrics_changelog/images/CLS_M86_Problem.pngbin0 -> 31637 bytes
-rw-r--r--chromium/docs/speed/metrics_changelog/images/CLS_M87_Fix.pngbin0 -> 29753 bytes
-rw-r--r--chromium/docs/speed/perf_lab_platforms.md2
-rw-r--r--chromium/docs/speed/perf_waterfall.md26
24 files changed, 266 insertions, 15 deletions
diff --git a/chromium/docs/speed/DIR_METADATA b/chromium/docs/speed/DIR_METADATA
new file mode 100644
index 00000000000..6930cc4c5f1
--- /dev/null
+++ b/chromium/docs/speed/DIR_METADATA
@@ -0,0 +1,11 @@
+# Metadata information for this directory.
+#
+# For more information on DIR_METADATA files, see:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/README.md
+#
+# For the schema of this file, see Metadata message:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/proto/dir_metadata.proto
+
+monorail {
+ component: "Speed"
+} \ No newline at end of file
diff --git a/chromium/docs/speed/OWNERS b/chromium/docs/speed/OWNERS
deleted file mode 100644
index aed0a9618ea..00000000000
--- a/chromium/docs/speed/OWNERS
+++ /dev/null
@@ -1,4 +0,0 @@
-benhenry@chromium.org
-ushesh@chromium.org
-per-file apk_size_regressions.md=agrieve@chromium.org
-# COMPONENT: Speed
diff --git a/chromium/docs/speed/benchmark/DIR_METADATA b/chromium/docs/speed/benchmark/DIR_METADATA
new file mode 100644
index 00000000000..a761f765271
--- /dev/null
+++ b/chromium/docs/speed/benchmark/DIR_METADATA
@@ -0,0 +1,11 @@
+# Metadata information for this directory.
+#
+# For more information on DIR_METADATA files, see:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/README.md
+#
+# For the schema of this file, see Metadata message:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/proto/dir_metadata.proto
+
+monorail {
+ component: "Test>Telemetry"
+} \ No newline at end of file
diff --git a/chromium/docs/speed/benchmark/OWNERS b/chromium/docs/speed/benchmark/OWNERS
deleted file mode 100644
index 5b10219821e..00000000000
--- a/chromium/docs/speed/benchmark/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-# COMPONENT: Test>Telemetry
diff --git a/chromium/docs/speed/benchmark/harnesses/rendering.md b/chromium/docs/speed/benchmark/harnesses/rendering.md
index fb5aae73279..47e757853cf 100644
--- a/chromium/docs/speed/benchmark/harnesses/rendering.md
+++ b/chromium/docs/speed/benchmark/harnesses/rendering.md
@@ -30,7 +30,7 @@ These benchmarks are run on the [Chromium Perf Waterfall](https://ci.chromium.or
Rendering metrics are [written in Javascript](https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/metrics/rendering/). The list of all metrics and their meanings should be documented in the files they are defined in.
- [cpu\_utilization.html](https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/metrics/rendering/cpu_utilization.html): `cpu_time_per_frame` and `tasks_per_frame`
-- [frame\_time.html](https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/metrics/rendering/frame_time.html): `frame_times`, `percentage_smooth`, `frame_lengths`, `avg_surface_fps`, `jank_count`, and `ui_frame_times`
+- [frame\_time.html](https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/metrics/rendering/frame_time.html): `frame_times`, `avg_surface_fps`, `jank_count`, and `ui_frame_times`
- [pixels.html](https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/metrics/rendering/pixels.html): `mean_pixels_approximated` and `mean_pixels_checkerboarded`
- [queueing\_duration.html](https://cs.chromium.org/chromium/src/third_party/catapult/tracing/tracing/metrics/rendering/queueing_duration.html): `queueing_durations`
diff --git a/chromium/docs/speed/binary_size/DIR_METADATA b/chromium/docs/speed/binary_size/DIR_METADATA
new file mode 100644
index 00000000000..22e8befaaca
--- /dev/null
+++ b/chromium/docs/speed/binary_size/DIR_METADATA
@@ -0,0 +1,11 @@
+# Metadata information for this directory.
+#
+# For more information on DIR_METADATA files, see:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/README.md
+#
+# For the schema of this file, see Metadata message:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/proto/dir_metadata.proto
+
+monorail {
+ component: "Speed>Release"
+} \ No newline at end of file
diff --git a/chromium/docs/speed/binary_size/OWNERS b/chromium/docs/speed/binary_size/OWNERS
deleted file mode 100644
index a35bb21b220..00000000000
--- a/chromium/docs/speed/binary_size/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-# COMPONENT: Speed>Release
diff --git a/chromium/docs/speed/binary_size/android_binary_size_trybot.md b/chromium/docs/speed/binary_size/android_binary_size_trybot.md
index 7c813ea43c7..444462f41d9 100644
--- a/chromium/docs/speed/binary_size/android_binary_size_trybot.md
+++ b/chromium/docs/speed/binary_size/android_binary_size_trybot.md
@@ -205,6 +205,8 @@ For more information on when to use `const char *` vs `const char[]`, see
## Code Locations
-- [Link to recipe](https://cs.chromium.org/chromium/build/scripts/slave/recipes/binary_size_trybot.py)
+- [Trybot recipe](https://source.chromium.org/chromium/chromium/tools/build/+/master:recipes/recipes/binary_size_trybot.py),
+[CI recipe](https://source.chromium.org/chromium/chromium/tools/build/+/master:recipes/recipes/binary_size_generator_tot.py),
+[recipe module](https://source.chromium.org/chromium/chromium/tools/build/+/master:recipes/recipe_modules/binary_size/api.py)
- [Link to src-side checks](/tools/binary_size/trybot_commit_size_checker.py)
- [Link to Gerrit Plugin](https://chromium.googlesource.com/infra/gerrit-plugins/chromium-binary-size/)
diff --git a/chromium/docs/speed/bot_health_sheriffing/main.md b/chromium/docs/speed/bot_health_sheriffing/main.md
index e6b2d1605bf..cb5dbb16a90 100644
--- a/chromium/docs/speed/bot_health_sheriffing/main.md
+++ b/chromium/docs/speed/bot_health_sheriffing/main.md
@@ -38,7 +38,9 @@ roll](https://autoroll.skia.org/r/catapult-autoroll), which should
automatically TBR the sheriff. If the catapult roll fails, the sheriff should
investigate and revert suspect changelists.
-The sheriff should *not* feel like responsible for investigating hard problems. The volume of incoming alerts makes this infeasible. Instead, they should delegate deep investigations to the right owners. As a rule of thumb, a trained sheriff should expect to spend 10-20 minutes per alert and should never be spending more than an hour per alert.
+Near the end of their shift, sheriffs should also inspect[this dashboard](https://dashboards.corp.google.com/_e3cbeb60_d250_4e67_8795_56cd9af8a303) for the time covered during their shift, and do a first-pass analysis of any anomalies (e.g. jobs taking 6 hours when they normally take 1.5).
+
+The sheriff should *not* feel responsible for investigating hard problems. The volume of incoming alerts makes this infeasible. Instead, they should delegate deep investigations to the right owners. As a rule of thumb, a trained sheriff should expect to spend 10-20 minutes per alert and should never be spending more than an hour per alert.
## Workflow
diff --git a/chromium/docs/speed/images/DIR_METADATA b/chromium/docs/speed/images/DIR_METADATA
new file mode 100644
index 00000000000..b2607fdfee8
--- /dev/null
+++ b/chromium/docs/speed/images/DIR_METADATA
@@ -0,0 +1,11 @@
+# Metadata information for this directory.
+#
+# For more information on DIR_METADATA files, see:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/README.md
+#
+# For the schema of this file, see Metadata message:
+# https://source.chromium.org/chromium/infra/infra/+/master:go/src/infra/tools/dirmd/proto/dir_metadata.proto
+
+monorail {
+ component: "Speed>Benchmarks"
+} \ No newline at end of file
diff --git a/chromium/docs/speed/images/OWNERS b/chromium/docs/speed/images/OWNERS
deleted file mode 100644
index 48be081137c..00000000000
--- a/chromium/docs/speed/images/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-# COMPONENT: Speed>Benchmarks
diff --git a/chromium/docs/speed/metrics_changelog/2020_10_cls.md b/chromium/docs/speed/metrics_changelog/2020_10_cls.md
new file mode 100644
index 00000000000..62212c37482
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/2020_10_cls.md
@@ -0,0 +1,76 @@
+# Cumulative Layout Shift Changes in Chrome 86
+
+## Changes in Chrome 86
+
+A large change was made to the way Chrome records underlying layout shifts
+which contribute to Cumulative Layout Shift in Chrome 86. The source code of the
+change is [here](https://chromium-review.googlesource.com/c/chromium/src/+/2336301/).
+
+The goal of the change was to better align the implementation to the
+[specification](https://wicg.github.io/layout-instability/), which says:
+
+> The visual representation of a Node N is defined as follows:
+> * If N is an Element which generates one or more boxes, the visual representation of N is the set of all points that lie within the bounds of any fragment of any box generated by N, in the coordinate space of the viewport, excluding any points that lie outside of the viewport.
+> * If N is a text node, the visual representation of N is the set of all points that lie within the bounds of any line box generated by N, in the coordinate space of the viewport, excluding any points that lie outside of the viewport.
+
+This change has a few different impacts.
+
+First, it no longer reports layout shifts from ink overflows, which should
+improve Cumulative Layout Shift scores on pages with hover effects.
+
+Second, when text shifts, the area shifted is the containing block starting from
+the LayoutText moved, with the logical height of the text (source code for
+using the logical height [here](https://chromium-review.googlesource.com/c/chromium/src/+/2386842)).
+This will have a small impact on the score in some cases.
+
+Third, there has been a change to how the area of the
+[impact fraction](https://web.dev/cls/#impact-fraction) is computed. In Chrome
+85 and below, when content overflowed the parent element, each descendant area
+was counted separately, using each element's border box. As of Chrome 86, the
+implementation has been updated to conform with the spec, by using the layout
+overflow rect, which contains all points that lie in the bounds of any fragment
+box. In both cases, the rects are still clipped to the viewport:
+
+Before change | After
+------------- | -----
+![Example of M85 Border Boxes](images/CLS_M85_Example1.png) | ![Example of M86 Layout Overflow Rects](images/CLS_M86_Example1.png)
+
+### Problem in Chrome 86
+
+Unfortunately, there is a problem in the specification that was only
+uncovered as the change rolled out to stable. It occurs in cases
+when a shifted node's positioned descendants overflow on the other side
+of the viewport. The intersection of the viewport and the layout overflow rect
+can be larger than the visible shift, as in this example below:
+
+Before change | After
+------------- | -----
+![Example of M85 border boxes with extreme shifts](images/CLS_M85_Example2.png) | ![Example of M86 border boxes with extreme shifts](images/CLS_M86_Example2.png)
+
+The issue has been fixed on chromium trunk (source code [here](https://chromium-review.googlesource.com/c/chromium/src/+/2503330)), but the fix will not roll out to stable until Chrome 87.
+
+## How does this affect a site's metrics?
+
+Sites with hover effects can expect to see small improvements on their Cumulative
+Layout Shift Scores.
+
+Sites with absolutely positioned content with negative offsets outside the
+viewport will see large regressions in their Cumulative Layout Shift scores
+until the fix rolls out to stable.
+
+### My CLS score regressed in M86. Is that a result of the above-mentioned issue?
+
+You can test the fix on [Chrome Canary](https://www.google.com/chrome/canary/) version
+88.0.4307.0 or later. You can navigate to `chrome://version` (by typing that in
+the URL bar) to verify your browser's version. Either the
+[JavaScript implementation](https://web.dev/cls/#measure-cls-in-javascript) or the
+[Chrome Extension](https://chrome.google.com/webstore/detail/web-vitals/ahfhijdlegdabablpippeagghigmibma?hl=en)
+can be used to check the Cumulative Layout Shift score on both canary and stable
+channels.
+
+If your CLS score returns to expected levels with the fix, there is no need to
+make changes to your site to address the metric changes in Chrome 86.
+
+## When were users affected?
+
+Most users were updated to Chrome 86 the week of October 19, 2020.
diff --git a/chromium/docs/speed/metrics_changelog/2020_10_cls_2.md b/chromium/docs/speed/metrics_changelog/2020_10_cls_2.md
new file mode 100644
index 00000000000..61e24d9906c
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/2020_10_cls_2.md
@@ -0,0 +1,24 @@
+# Cumulative Layout Shift Changes in Chrome 87
+
+## Changes in Chrome 87
+
+In Chrome 86, a [problem was introduced](2020_10_cls.md) to the way the area of
+the [impact fraction](https://web.dev/cls/#impact-fraction) is calculated
+for layout shifts of nodes containing positioned content that overflows to the
+other side of the viewport. In Chrome 87, the problem is fixed by using visual
+rects to calculate the impact area instead of layout overflow rects (source code
+for the change
+[here](https://chromium-review.googlesource.com/c/chromium/src/+/2503330)).
+
+Before change | After
+------------- | -----
+![Example of M86 problem](images/CLS_M86_Problem.png) | ![Example of M87 fix](images/CLS_M87_Fix.png)
+
+## How does this affect a site's metrics?
+
+Sites which showed this regression in Chrome 86 should return to accurate layout
+shift scores in Chrome 87.
+
+## When were users affected?
+
+Most users will be updated to Chrome 87 the week of November 17, 2020.
diff --git a/chromium/docs/speed/metrics_changelog/2020_11_cls.md b/chromium/docs/speed/metrics_changelog/2020_11_cls.md
new file mode 100644
index 00000000000..de6b42106e0
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/2020_11_cls.md
@@ -0,0 +1,52 @@
+# Cumulative Layout Shift Changes in Chrome 88
+
+## Changes in Chrome 88
+
+### Bug fix for descendents of sticky elements
+
+Before Chrome 88, Cumulative Layout Shift did not take shifts of descendents of
+sticky elements into account. This has been fixed in Chrome 88.
+[Source code for this change](https://chromium-review.googlesource.com/c/chromium/src/+/2519360).
+
+### Bug fix for fixed position elements
+
+Prior to Chrome 88, Cumulative Layout Shift did not take shifts of fixed
+position elements into account. This has been fixed in Chrome 88.
+[Source code for this change](https://chromium-review.googlesource.com/c/chromium/src/+/2520330).
+
+### Bug fix for content-visibility: auto
+
+When the `content-visibility: auto` feature was shipped in Chrome 85, a
+CLS-impacting flaw was present: changes between the skipped and not-skipped
+state of a `content-visibility: auto` subtree caused an observed layout shift
+in the `content;visibility: auto` element as it resized.
+
+In Chrome 88, the CLS issue was [fixed](https://crbug.com/1151526).
+Going forward, there should be no CLS penalty for such elements. (Note that
+there still may be a layout shift for onscreen elements adjacent to (but not
+descendants of) the `content-visibility: auto` element.
+
+## How does this affect a site's metrics?
+
+All of these changes only affect sites with specific types of content. Here are
+the specifics for each change:
+
+### Bug fix for descendents of sticky elements
+
+Sites with descendents of sticky position elements which shift unexpectedly
+should see an increase in their Cumulative Layout Shift scores.
+
+### Bug fix for fixed position elements
+
+Sites with fixed position elements which shift unexpectedly should see an
+increase in their Cumulative Layout Shift scores.
+
+### Bug fix for content-visibility: auto
+
+Sites using `content-visibility: auto` should no longer see any impact of this
+feature on their Cumulative Layout Shift scores, resulting in a decrease in
+their scores.
+
+## When were users affected?
+
+Chrome 88 is currently scheduled to be released the week of January 19, 2021.
diff --git a/chromium/docs/speed/metrics_changelog/2020_12_cls.md b/chromium/docs/speed/metrics_changelog/2020_12_cls.md
new file mode 100644
index 00000000000..6f71bdf7569
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/2020_12_cls.md
@@ -0,0 +1,26 @@
+# Cumulative Layout Shift Changes in Chrome 89
+
+## Changes in Chrome 89
+
+### Ignore layout shift when visibility:hidden becomes visible
+
+We have been always ignoring layout shifts when the element has
+visibility:hidden. However before Chrome 89, if the element having
+visibility:hidden became visible and shift at the same time, we reported layout
+shift. Now we also consider the previous visibility and ignore layout shift in
+the case.
+[Source code for this change](https://chromium-review.googlesource.com/c/chromium/src/+/2591367)
+
+## How does this affect a site's metrics?
+
+All of these changes only affect sites with specific types of content. Here are
+the specifics for each change:
+
+### Ignore layout shift when visibility:hidden becomes visible
+
+Sites using visibility:hidden to hide layout changes may see a decrease in
+their Cumulative Layout Shift scores.
+
+## When were users affected?
+
+Chrome 89 is currently scheduled to be released the week of March 2, 2021.
diff --git a/chromium/docs/speed/metrics_changelog/cls.md b/chromium/docs/speed/metrics_changelog/cls.md
index a2d8fa13cb9..5867effffa1 100644
--- a/chromium/docs/speed/metrics_changelog/cls.md
+++ b/chromium/docs/speed/metrics_changelog/cls.md
@@ -2,12 +2,16 @@
This is a list of changes to [Cumulative Layout Shift](https://web.dev/cls).
+* Chrome 89
+ * Metric definition improvement: [Ignore layout shift when visibility:hidden becomes visible](2020_12_cls.md)
+* Chrome 88
+ * Metric definition improvement: [Cumulative layout shift properly detects shifts of fixed position elements](2020_11_cls.md)
+ * Metric definition improvement: [Cumulative layout shift properly detects shifts of descendents of a sticky element](2020_11_cls.md)
+ * Metric definition improvement: [no penalty for content-visibility: auto content](2020_11_cls.md)
+* Chrome 87
+ * Metric definition improvement: [Fix problem in Cumulative Layout shift calculation of impact region](2020_10_cls_2.md)
* Chrome 86
- * Fixed bugs about ink overflows (crbug.com/1108622) and transforms (crbug.com/1109053).
- * Now we aggregate layout shift reports of:
- * an element and its descendants if they move together, and
- * inline elements and texts in a block after a shifted text.
- These changes will affect layout instability score for the specific cases.
+ * Metric definition changes and bug: [Cumulative Layout Shift score changes and regressions in impact region calculation](2020_10_cls.md)
* Chrome 85
* Metric definition improvement: [Cumulative Layout Shift ignores layout shifts from video slider thumb](2020_06_cls.md)
* Chrome 79
diff --git a/chromium/docs/speed/metrics_changelog/images/CLS_M85_Example1.png b/chromium/docs/speed/metrics_changelog/images/CLS_M85_Example1.png
new file mode 100644
index 00000000000..6a4852f7db7
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/images/CLS_M85_Example1.png
Binary files differ
diff --git a/chromium/docs/speed/metrics_changelog/images/CLS_M85_Example2.png b/chromium/docs/speed/metrics_changelog/images/CLS_M85_Example2.png
new file mode 100644
index 00000000000..2013489f028
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/images/CLS_M85_Example2.png
Binary files differ
diff --git a/chromium/docs/speed/metrics_changelog/images/CLS_M86_Example1.png b/chromium/docs/speed/metrics_changelog/images/CLS_M86_Example1.png
new file mode 100644
index 00000000000..b586a2324b6
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/images/CLS_M86_Example1.png
Binary files differ
diff --git a/chromium/docs/speed/metrics_changelog/images/CLS_M86_Example2.png b/chromium/docs/speed/metrics_changelog/images/CLS_M86_Example2.png
new file mode 100644
index 00000000000..5c2f6e5390e
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/images/CLS_M86_Example2.png
Binary files differ
diff --git a/chromium/docs/speed/metrics_changelog/images/CLS_M86_Problem.png b/chromium/docs/speed/metrics_changelog/images/CLS_M86_Problem.png
new file mode 100644
index 00000000000..6243ff35a07
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/images/CLS_M86_Problem.png
Binary files differ
diff --git a/chromium/docs/speed/metrics_changelog/images/CLS_M87_Fix.png b/chromium/docs/speed/metrics_changelog/images/CLS_M87_Fix.png
new file mode 100644
index 00000000000..34db9ab75e3
--- /dev/null
+++ b/chromium/docs/speed/metrics_changelog/images/CLS_M87_Fix.png
Binary files differ
diff --git a/chromium/docs/speed/perf_lab_platforms.md b/chromium/docs/speed/perf_lab_platforms.md
index 59decbb192a..72c441f03a6 100644
--- a/chromium/docs/speed/perf_lab_platforms.md
+++ b/chromium/docs/speed/perf_lab_platforms.md
@@ -23,6 +23,8 @@
* [mac-10_12_laptop_low_end-perf](https://ci.chromium.org/p/chrome/builders/ci/mac-10_12_laptop_low_end-perf): MacBook Air, Core i5 1.8 GHz, 8GB RAM, 128GB SSD, HD Graphics.
* [mac-10_13_laptop_high_end-perf](https://ci.chromium.org/p/chrome/builders/ci/mac-10_13_laptop_high_end-perf): MacBook Pro, Core i7 2.8 GHz, 16GB RAM, 256GB SSD, Radeon 55.
+ * [mac-arm_dtk_arm-perf](https://ci.chromium.org/p/chrome/builders/ci/mac-arm_dtk_arm-perf): Mac ARM DTK (ARM Chrome).
+ * [mac-arm_dtk_x86-perf](https://ci.chromium.org/p/chrome/builders/ci/mac-arm_dtk_x86-perf): Mac ARM DTK (X86 Chrome).
## Win
diff --git a/chromium/docs/speed/perf_waterfall.md b/chromium/docs/speed/perf_waterfall.md
index 6d1de5e8443..1c643d092ac 100644
--- a/chromium/docs/speed/perf_waterfall.md
+++ b/chromium/docs/speed/perf_waterfall.md
@@ -14,6 +14,32 @@ of speed:
> "If you make a change that regresses measured performance, you will be
> required to fix it or revert".
+## How It Works
+
+The perf waterfall is split into three stages - builders, testers, and processors.
+
+### Builders
+
+For each commit to the Chromium repo, a Builder is invoked. The builder builds
+Google Chrome, acquires test assets, and bundles everything up to be passed
+along to Testers. We execute a builder for each platform we support. To ensure
+we can keep up with the rapid flow of commits, we have a set of builders per
+platform, each building a different commit.
+
+### Testers
+
+For each platform, we have a single tester job running continuously. Each run of
+a tester covers the set of commits from the end commit of the previous
+invocation to the latest _built_ commit. Each tester has one or more subdevices
+(shards). The tester delegates a subset of tests to each shard and aggregates
+high-level results (pass/fail, runtimes).
+
+### Processors
+
+Processors analyze the raw data generated by each Tester and convert it into a form that can be utilized
+by the [Chrome Performance Dashboard](https://chromeperf.appspot.com/report).
+For some jobs, this work is executed by the tester instead.
+
## Contact
* You can reach the Chromium performance sheriffs at perf-sheriffs@chromium.org.