New issue
Advanced search Search tips

Issue 843419 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Log near OOM intervention memory metrics to UMA

Project Member Reported by ssid@chromium.org, May 16 2018

Issue description

We need to understand why OOMs happened. So try to log the metrics recorded by renderer processes to UMA.

Ideally metrics like memory usage and swap, the renderer thread queuing delays, scroll latency just before OOM, will be needed to understand why OOM happened.
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/26cd041ccb39732bc10980216c49185ea1a5cbfd

commit 26cd041ccb39732bc10980216c49185ea1a5cbfd
Author: Siddhartha <ssid@chromium.org>
Date: Mon May 21 02:37:32 2018

Store renderer OOM metrics in shared memory buffer

The renderer OOM metrics are stored in shared memory buffer so that the
browser can read the metrics after renderer crashes (by OOM).

BUG=843419

Change-Id: I498256e473785051724efa80864f0292cc24362e
Reviewed-on: https://chromium-review.googlesource.com/1062211
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560219}
[add] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/chrome/browser/android/oom_intervention/DEPS
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.h
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/third_party/blink/common/BUILD.gn
[add] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/third_party/blink/common/oom_intervention/oom_intervention_types.h
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/third_party/blink/public/platform/oom_intervention.mojom
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/third_party/blink/renderer/controller/oom_intervention_impl.cc
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/third_party/blink/renderer/controller/oom_intervention_impl.h
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/third_party/blink/renderer/controller/oom_intervention_impl_test.cc
[modify] https://crrev.com/26cd041ccb39732bc10980216c49185ea1a5cbfd/third_party/blink/tools/audit_non_blink_usage.py

Project Member

Comment 2 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0c2124b3c9acf283315fb56beea340d050db0acd

commit 0c2124b3c9acf283315fb56beea340d050db0acd
Author: Siddhartha <ssid@chromium.org>
Date: Tue May 22 00:20:20 2018

Use thresholds based on RAM size for OOM intervention

This CL does not change behavior of existing experiment on 512 devices.
1. Remove low-end device checks while enabling intervention. This can be
   filtered in Finch config.
2. Set threshold based on percentage of RAM instead of absolute number.
3. Disable intervention if device has more than 512MB RAM and threshold
   was set to absolute number.

BUG=843419


Change-Id: Ib40a038d9d2f111a514b3f41ce7f32a3ea3a156d
Reviewed-on: https://chromium-review.googlesource.com/1066804
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560430}
[modify] https://crrev.com/0c2124b3c9acf283315fb56beea340d050db0acd/chrome/browser/android/oom_intervention/near_oom_monitor.cc
[modify] https://crrev.com/0c2124b3c9acf283315fb56beea340d050db0acd/chrome/browser/android/oom_intervention/near_oom_monitor.h
[modify] https://crrev.com/0c2124b3c9acf283315fb56beea340d050db0acd/chrome/browser/android/oom_intervention/near_oom_monitor_unittest.cc
[modify] https://crrev.com/0c2124b3c9acf283315fb56beea340d050db0acd/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc

Project Member

Comment 3 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1944df7bec558cfe3a0cd9ee77f747afce87e94a

commit 1944df7bec558cfe3a0cd9ee77f747afce87e94a
Author: Siddhartha <ssid@chromium.org>
Date: Tue May 22 01:57:32 2018

Calculate PMF and Swap size in renderer OOM intervention helper

Record memory footprint values in renderer process with OOM intervention
enabled. Make these files Android only.
The overhead of calculation is strictly less than 0.06ms. The actual value
is difficult to calculate because of trace event overhead being higher.

BUG=843419

Change-Id: Id863a33a9f09a1f6823801b00961939c479631aa
Reviewed-on: https://chromium-review.googlesource.com/1063258
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560455}
[modify] https://crrev.com/1944df7bec558cfe3a0cd9ee77f747afce87e94a/third_party/blink/renderer/controller/BUILD.gn
[modify] https://crrev.com/1944df7bec558cfe3a0cd9ee77f747afce87e94a/third_party/blink/renderer/controller/DEPS
[modify] https://crrev.com/1944df7bec558cfe3a0cd9ee77f747afce87e94a/third_party/blink/renderer/controller/blink_initializer.cc
[modify] https://crrev.com/1944df7bec558cfe3a0cd9ee77f747afce87e94a/third_party/blink/renderer/controller/oom_intervention_impl.cc
[modify] https://crrev.com/1944df7bec558cfe3a0cd9ee77f747afce87e94a/third_party/blink/renderer/controller/oom_intervention_impl.h
[modify] https://crrev.com/1944df7bec558cfe3a0cd9ee77f747afce87e94a/third_party/blink/renderer/controller/oom_intervention_impl_test.cc
[modify] https://crrev.com/1944df7bec558cfe3a0cd9ee77f747afce87e94a/third_party/blink/tools/audit_non_blink_usage.py

Project Member

Comment 4 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a779e28100bd6d89060b7a4a401a1aa69b8d9e17

commit a779e28100bd6d89060b7a4a401a1aa69b8d9e17
Author: Siddhartha <ssid@chromium.org>
Date: Tue May 22 04:03:03 2018

Record UMA of memory usage just before OOM

OOM intervention records the memory usages every few seconds in shared
memory. Record the last seen memory usage to UMA when OOM occurs in the
process.

BUG=843419

Change-Id: Ic99bf6f5853a37c3a86bc40e188ddd04b510bbd7
Reviewed-on: https://chromium-review.googlesource.com/1066681
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560477}
[modify] https://crrev.com/a779e28100bd6d89060b7a4a401a1aa69b8d9e17/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc
[modify] https://crrev.com/a779e28100bd6d89060b7a4a401a1aa69b8d9e17/tools/metrics/histograms/histograms.xml

Project Member

Comment 5 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e6449839909e54f5b0e68b535dbe31f632b2465d

commit e6449839909e54f5b0e68b535dbe31f632b2465d
Author: Balazs Engedy <engedy@chromium.org>
Date: Tue May 22 13:19:41 2018

Revert "Calculate PMF and Swap size in renderer OOM intervention helper"

This reverts commit 1944df7bec558cfe3a0cd9ee77f747afce87e94a.

Reason for revert: Breaks webkit unittests on Android CFI builder.

[ RUN      ] OomInterventionImplTest.CalculatePMFAndSwap
[FATAL:oom_intervention_impl.cc(131)] Check failed: host_.
[ERROR:test_suite.cc(301)] Currently running: OomInterventionImplTest.CalculatePMFAndSwap

https://ci.chromium.org/buildbot/chromium.memory/Android%20CFI/1302

Original change's description:
> Calculate PMF and Swap size in renderer OOM intervention helper
> 
> Record memory footprint values in renderer process with OOM intervention
> enabled. Make these files Android only.
> The overhead of calculation is strictly less than 0.06ms. The actual value
> is difficult to calculate because of trace event overhead being higher.
> 
> BUG=843419
> 
> Change-Id: Id863a33a9f09a1f6823801b00961939c479631aa
> Reviewed-on: https://chromium-review.googlesource.com/1063258
> Commit-Queue: Siddhartha S <ssid@chromium.org>
> Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560455}

TBR=bashi@chromium.org,haraken@chromium.org,ssid@chromium.org

Change-Id: I8fd58ea40474207b6f561680ce69a492ea117037
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 843419
Reviewed-on: https://chromium-review.googlesource.com/1069069
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560549}
[modify] https://crrev.com/e6449839909e54f5b0e68b535dbe31f632b2465d/third_party/blink/renderer/controller/BUILD.gn
[modify] https://crrev.com/e6449839909e54f5b0e68b535dbe31f632b2465d/third_party/blink/renderer/controller/DEPS
[modify] https://crrev.com/e6449839909e54f5b0e68b535dbe31f632b2465d/third_party/blink/renderer/controller/blink_initializer.cc
[modify] https://crrev.com/e6449839909e54f5b0e68b535dbe31f632b2465d/third_party/blink/renderer/controller/oom_intervention_impl.cc
[modify] https://crrev.com/e6449839909e54f5b0e68b535dbe31f632b2465d/third_party/blink/renderer/controller/oom_intervention_impl.h
[modify] https://crrev.com/e6449839909e54f5b0e68b535dbe31f632b2465d/third_party/blink/renderer/controller/oom_intervention_impl_test.cc
[modify] https://crrev.com/e6449839909e54f5b0e68b535dbe31f632b2465d/third_party/blink/tools/audit_non_blink_usage.py

Project Member

Comment 6 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/725233980a1219246afc8bebeb48ef4027a24f84

commit 725233980a1219246afc8bebeb48ef4027a24f84
Author: Siddhartha <ssid@chromium.org>
Date: Tue May 22 19:22:54 2018

Reland "Calculate PMF and Swap size in renderer OOM intervention helper"

This reverts commit e6449839909e54f5b0e68b535dbe31f632b2465d.

Reason for revert: Fix the test

Original change's description:
> Revert "Calculate PMF and Swap size in renderer OOM intervention helper"
> 
> This reverts commit 1944df7bec558cfe3a0cd9ee77f747afce87e94a.
> 
> Reason for revert: Breaks webkit unittests on Android CFI builder.
> 
> [ RUN      ] OomInterventionImplTest.CalculatePMFAndSwap
> [FATAL:oom_intervention_impl.cc(131)] Check failed: host_.
> [ERROR:test_suite.cc(301)] Currently running: OomInterventionImplTest.CalculatePMFAndSwap
> 
> https://ci.chromium.org/buildbot/chromium.memory/Android%20CFI/1302
> 
> Original change's description:
> > Calculate PMF and Swap size in renderer OOM intervention helper
> > 
> > Record memory footprint values in renderer process with OOM intervention
> > enabled. Make these files Android only.
> > The overhead of calculation is strictly less than 0.06ms. The actual value
> > is difficult to calculate because of trace event overhead being higher.
> > 
> > BUG=843419
> > 
> > Change-Id: Id863a33a9f09a1f6823801b00961939c479631aa
> > Reviewed-on: https://chromium-review.googlesource.com/1063258
> > Commit-Queue: Siddhartha S <ssid@chromium.org>
> > Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
> > Reviewed-by: Kentaro Hara <haraken@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#560455}
> 
> TBR=bashi@chromium.org,haraken@chromium.org,ssid@chromium.org
> 
> Change-Id: I8fd58ea40474207b6f561680ce69a492ea117037
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 843419
> Reviewed-on: https://chromium-review.googlesource.com/1069069
> Reviewed-by: Balazs Engedy <engedy@chromium.org>
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560549}

TBR=engedy@chromium.org,bashi@chromium.org,haraken@chromium.org,ssid@chromium.org

Bug: 843419
Change-Id: Ic5ac3dd51660db99618f5d31c551cd7f7bfe8123
Reviewed-on: https://chromium-review.googlesource.com/1068083
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Siddhartha S <ssid@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560727}
[modify] https://crrev.com/725233980a1219246afc8bebeb48ef4027a24f84/third_party/blink/renderer/controller/BUILD.gn
[modify] https://crrev.com/725233980a1219246afc8bebeb48ef4027a24f84/third_party/blink/renderer/controller/DEPS
[modify] https://crrev.com/725233980a1219246afc8bebeb48ef4027a24f84/third_party/blink/renderer/controller/blink_initializer.cc
[modify] https://crrev.com/725233980a1219246afc8bebeb48ef4027a24f84/third_party/blink/renderer/controller/oom_intervention_impl.cc
[modify] https://crrev.com/725233980a1219246afc8bebeb48ef4027a24f84/third_party/blink/renderer/controller/oom_intervention_impl.h
[modify] https://crrev.com/725233980a1219246afc8bebeb48ef4027a24f84/third_party/blink/renderer/controller/oom_intervention_impl_test.cc
[modify] https://crrev.com/725233980a1219246afc8bebeb48ef4027a24f84/third_party/blink/tools/audit_non_blink_usage.py

Project Member

Comment 7 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/50257b9eafc8ec098a9693d4740fd761ace59c35

commit 50257b9eafc8ec098a9693d4740fd761ace59c35
Author: enne <enne@chromium.org>
Date: Tue May 22 20:38:40 2018

Revert "Use thresholds based on RAM size for OOM intervention"

This reverts commit 0c2124b3c9acf283315fb56beea340d050db0acd.

Reason for revert: Speculatively reverting to see if it fixes webgl conformance test timeouts
Bug:  845411 

Original change's description:
> Use thresholds based on RAM size for OOM intervention
> 
> This CL does not change behavior of existing experiment on 512 devices.
> 1. Remove low-end device checks while enabling intervention. This can be
>    filtered in Finch config.
> 2. Set threshold based on percentage of RAM instead of absolute number.
> 3. Disable intervention if device has more than 512MB RAM and threshold
>    was set to absolute number.
> 
> BUG=843419
> 
> 
> Change-Id: Ib40a038d9d2f111a514b3f41ce7f32a3ea3a156d
> Reviewed-on: https://chromium-review.googlesource.com/1066804
> Commit-Queue: Siddhartha S <ssid@chromium.org>
> Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560430}

TBR=bashi@chromium.org,ssid@chromium.org

Change-Id: I4b50e522dcc6c91542927a9e769e5eee24f486a5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 843419
Reviewed-on: https://chromium-review.googlesource.com/1069567
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560761}
[modify] https://crrev.com/50257b9eafc8ec098a9693d4740fd761ace59c35/chrome/browser/android/oom_intervention/near_oom_monitor.cc
[modify] https://crrev.com/50257b9eafc8ec098a9693d4740fd761ace59c35/chrome/browser/android/oom_intervention/near_oom_monitor.h
[modify] https://crrev.com/50257b9eafc8ec098a9693d4740fd761ace59c35/chrome/browser/android/oom_intervention/near_oom_monitor_unittest.cc
[modify] https://crrev.com/50257b9eafc8ec098a9693d4740fd761ace59c35/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc

Project Member

Comment 8 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9191004f57d2bbb925d1d48194036bb1230d0f1f

commit 9191004f57d2bbb925d1d48194036bb1230d0f1f
Author: Siddhartha S <ssid@chromium.org>
Date: Wed May 23 01:45:50 2018

Reland "Use thresholds based on RAM size for OOM intervention"

This reverts commit 50257b9eafc8ec098a9693d4740fd761ace59c35.

Reason for revert: This was not the cause of failure, see
https://crbug.com/845763

Original change's description:
> Revert "Use thresholds based on RAM size for OOM intervention"
> 
> This reverts commit 0c2124b3c9acf283315fb56beea340d050db0acd.
> 
> Reason for revert: Speculatively reverting to see if it fixes webgl conformance test timeouts
> Bug:  845411 
> 
> Original change's description:
> > Use thresholds based on RAM size for OOM intervention
> > 
> > This CL does not change behavior of existing experiment on 512 devices.
> > 1. Remove low-end device checks while enabling intervention. This can be
> >    filtered in Finch config.
> > 2. Set threshold based on percentage of RAM instead of absolute number.
> > 3. Disable intervention if device has more than 512MB RAM and threshold
> >    was set to absolute number.
> > 
> > BUG=843419
> > 
> > 
> > Change-Id: Ib40a038d9d2f111a514b3f41ce7f32a3ea3a156d
> > Reviewed-on: https://chromium-review.googlesource.com/1066804
> > Commit-Queue: Siddhartha S <ssid@chromium.org>
> > Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#560430}
> 
> TBR=bashi@chromium.org,ssid@chromium.org
> 
> Change-Id: I4b50e522dcc6c91542927a9e769e5eee24f486a5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 843419
> Reviewed-on: https://chromium-review.googlesource.com/1069567
> Reviewed-by: enne <enne@chromium.org>
> Commit-Queue: enne <enne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560761}

TBR=bashi@chromium.org,enne@chromium.org,ssid@chromium.org

Change-Id: I4d0a08cd44772dc690ac1d93b1d92b4934ed0373
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  845411 , 843419
Reviewed-on: https://chromium-review.googlesource.com/1069888
Reviewed-by: Siddhartha S <ssid@chromium.org>
Commit-Queue: Siddhartha S <ssid@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560882}
[modify] https://crrev.com/9191004f57d2bbb925d1d48194036bb1230d0f1f/chrome/browser/android/oom_intervention/near_oom_monitor.cc
[modify] https://crrev.com/9191004f57d2bbb925d1d48194036bb1230d0f1f/chrome/browser/android/oom_intervention/near_oom_monitor.h
[modify] https://crrev.com/9191004f57d2bbb925d1d48194036bb1230d0f1f/chrome/browser/android/oom_intervention/near_oom_monitor_unittest.cc
[modify] https://crrev.com/9191004f57d2bbb925d1d48194036bb1230d0f1f/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc

Project Member

Comment 9 by bugdroid1@chromium.org, May 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a21bf6f95c3698b9542d8aa3a4ed081e2771d7fd

commit a21bf6f95c3698b9542d8aa3a4ed081e2771d7fd
Author: Siddhartha S <ssid@chromium.org>
Date: Wed May 23 01:58:51 2018

Revert "Reland "Use thresholds based on RAM size for OOM intervention""

This reverts commit 9191004f57d2bbb925d1d48194036bb1230d0f1f.

Reason for revert: The failure after the revert was a different failure.
Sorry for the reland.

Original change's description:
> Reland "Use thresholds based on RAM size for OOM intervention"
> 
> This reverts commit 50257b9eafc8ec098a9693d4740fd761ace59c35.
> 
> Reason for revert: This was not the cause of failure, see
> https://crbug.com/845763
> 
> Original change's description:
> > Revert "Use thresholds based on RAM size for OOM intervention"
> > 
> > This reverts commit 0c2124b3c9acf283315fb56beea340d050db0acd.
> > 
> > Reason for revert: Speculatively reverting to see if it fixes webgl conformance test timeouts
> > Bug:  845411 
> > 
> > Original change's description:
> > > Use thresholds based on RAM size for OOM intervention
> > > 
> > > This CL does not change behavior of existing experiment on 512 devices.
> > > 1. Remove low-end device checks while enabling intervention. This can be
> > >    filtered in Finch config.
> > > 2. Set threshold based on percentage of RAM instead of absolute number.
> > > 3. Disable intervention if device has more than 512MB RAM and threshold
> > >    was set to absolute number.
> > > 
> > > BUG=843419
> > > 
> > > 
> > > Change-Id: Ib40a038d9d2f111a514b3f41ce7f32a3ea3a156d
> > > Reviewed-on: https://chromium-review.googlesource.com/1066804
> > > Commit-Queue: Siddhartha S <ssid@chromium.org>
> > > Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#560430}
> > 
> > TBR=bashi@chromium.org,ssid@chromium.org
> > 
> > Change-Id: I4b50e522dcc6c91542927a9e769e5eee24f486a5
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: 843419
> > Reviewed-on: https://chromium-review.googlesource.com/1069567
> > Reviewed-by: enne <enne@chromium.org>
> > Commit-Queue: enne <enne@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#560761}
> 
> TBR=bashi@chromium.org,enne@chromium.org,ssid@chromium.org
> 
> Change-Id: I4d0a08cd44772dc690ac1d93b1d92b4934ed0373
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  845411 , 843419
> Reviewed-on: https://chromium-review.googlesource.com/1069888
> Reviewed-by: Siddhartha S <ssid@chromium.org>
> Commit-Queue: Siddhartha S <ssid@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560882}

TBR=bashi@chromium.org,enne@chromium.org,ssid@chromium.org

Change-Id: Ib8841dddaa2a167e674c997ec1577036df26e8cb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  845411 , 843419
Reviewed-on: https://chromium-review.googlesource.com/1069876
Reviewed-by: Siddhartha S <ssid@chromium.org>
Commit-Queue: Siddhartha S <ssid@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560889}
[modify] https://crrev.com/a21bf6f95c3698b9542d8aa3a4ed081e2771d7fd/chrome/browser/android/oom_intervention/near_oom_monitor.cc
[modify] https://crrev.com/a21bf6f95c3698b9542d8aa3a4ed081e2771d7fd/chrome/browser/android/oom_intervention/near_oom_monitor.h
[modify] https://crrev.com/a21bf6f95c3698b9542d8aa3a4ed081e2771d7fd/chrome/browser/android/oom_intervention/near_oom_monitor_unittest.cc
[modify] https://crrev.com/a21bf6f95c3698b9542d8aa3a4ed081e2771d7fd/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc

Project Member

Comment 10 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac3d5886352ec97a24347c07bec28870ac3bb8d2

commit ac3d5886352ec97a24347c07bec28870ac3bb8d2
Author: Siddhartha <ssid@chromium.org>
Date: Tue May 29 07:37:14 2018

Reland "Reland "Use thresholds based on RAM size for OOM intervention""

This reverts commit a21bf6f95c3698b9542d8aa3a4ed081e2771d7fd.

Reason for revert: Test field trial config does not support low_end_device flag.
So, make sure the config does not turn on intervention on high end devices
without new param.

Original change's description:
> Revert "Reland "Use thresholds based on RAM size for OOM intervention""
>
> This reverts commit 9191004f57d2bbb925d1d48194036bb1230d0f1f.
>
> Reason for revert: The failure after the revert was a different failure.
> Sorry for the reland.
>
> Original change's description:
> > Reland "Use thresholds based on RAM size for OOM intervention"
> >
> > This reverts commit 50257b9eafc8ec098a9693d4740fd761ace59c35.
> >
> > Reason for revert: This was not the cause of failure, see
> > https://crbug.com/845763
> >
> > Original change's description:
> > > Revert "Use thresholds based on RAM size for OOM intervention"
> > >
> > > This reverts commit 0c2124b3c9acf283315fb56beea340d050db0acd.
> > >
> > > Reason for revert: Speculatively reverting to see if it fixes webgl conformance test timeouts
> > > Bug:  845411 
> > >
> > > Original change's description:
> > > > Use thresholds based on RAM size for OOM intervention
> > > >
> > > > This CL does not change behavior of existing experiment on 512 devices.
> > > > 1. Remove low-end device checks while enabling intervention. This can be
> > > >    filtered in Finch config.
> > > > 2. Set threshold based on percentage of RAM instead of absolute number.
> > > > 3. Disable intervention if device has more than 512MB RAM and threshold
> > > >    was set to absolute number.
> > > >
> > > > BUG=843419
> > > >
> > > >
> > > > Change-Id: Ib40a038d9d2f111a514b3f41ce7f32a3ea3a156d
> > > > Reviewed-on: https://chromium-review.googlesource.com/1066804
> > > > Commit-Queue: Siddhartha S <ssid@chromium.org>
> > > > Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
> > > > Cr-Commit-Position: refs/heads/master@{#560430}
> > >
> > > TBR=bashi@chromium.org,ssid@chromium.org
> > >
> > > Change-Id: I4b50e522dcc6c91542927a9e769e5eee24f486a5
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: 843419
> > > Reviewed-on: https://chromium-review.googlesource.com/1069567
> > > Reviewed-by: enne <enne@chromium.org>
> > > Commit-Queue: enne <enne@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#560761}
> >
> > TBR=bashi@chromium.org,enne@chromium.org,ssid@chromium.org
> >
> > Change-Id: I4d0a08cd44772dc690ac1d93b1d92b4934ed0373
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug:  845411 , 843419
> > Reviewed-on: https://chromium-review.googlesource.com/1069888
> > Reviewed-by: Siddhartha S <ssid@chromium.org>
> > Commit-Queue: Siddhartha S <ssid@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#560882}
>
> TBR=bashi@chromium.org,enne@chromium.org,ssid@chromium.org
>
> Change-Id: Ib8841dddaa2a167e674c997ec1577036df26e8cb
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  845411 , 843419
> Reviewed-on: https://chromium-review.googlesource.com/1069876
> Reviewed-by: Siddhartha S <ssid@chromium.org>
> Commit-Queue: Siddhartha S <ssid@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#560889}

TBR=enne@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  845411 , 843419
Change-Id: I5c03b1ac806a5f4e0b1516761e3b86c242a3c200
Reviewed-on: https://chromium-review.googlesource.com/1074151
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Siddhartha S <ssid@chromium.org>
Commit-Queue: Siddhartha S <ssid@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562362}
[modify] https://crrev.com/ac3d5886352ec97a24347c07bec28870ac3bb8d2/chrome/browser/android/oom_intervention/near_oom_monitor.cc
[modify] https://crrev.com/ac3d5886352ec97a24347c07bec28870ac3bb8d2/chrome/browser/android/oom_intervention/near_oom_monitor.h
[modify] https://crrev.com/ac3d5886352ec97a24347c07bec28870ac3bb8d2/chrome/browser/android/oom_intervention/near_oom_monitor_unittest.cc
[modify] https://crrev.com/ac3d5886352ec97a24347c07bec28870ac3bb8d2/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jun 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b954ed5b33d0ca458109c8a8e3f75019e7ae6ce

commit 2b954ed5b33d0ca458109c8a8e3f75019e7ae6ce
Author: Siddhartha <ssid@chromium.org>
Date: Fri Jun 01 02:16:24 2018

OomIntervantion should observe CrashDumpManager instead of OOMReporter

The reporter does not send notifications when the tab has multiple urls
or when sync is not enabled since ukm cannot be recorded.

BUG=843419

Change-Id: Ie05f642fba60a6abfa1e7a4310f8e8bb01fa7a76
Reviewed-on: https://chromium-review.googlesource.com/1081612
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Commit-Queue: Siddhartha S <ssid@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563491}
[modify] https://crrev.com/2b954ed5b33d0ca458109c8a8e3f75019e7ae6ce/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc
[modify] https://crrev.com/2b954ed5b33d0ca458109c8a8e3f75019e7ae6ce/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jun 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a9b65e72564332b253750d07e2d040432ce560d1

commit a9b65e72564332b253750d07e2d040432ce560d1
Author: Siddhartha <ssid@chromium.org>
Date: Tue Jun 05 00:30:10 2018

Initialize OOM intervention shared memory metrics

In case the renderer dies before it gets the start detection command,
the metrics recorded will be wrong. So, initialize to 0. The 0x will
still be recorded in UMA to understand how often this happens.

BUG=843419

Change-Id: If00c4cf94376fb137d78bf22dabaab379f144107
Reviewed-on: https://chromium-review.googlesource.com/1086216
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564314}
[modify] https://crrev.com/a9b65e72564332b253750d07e2d040432ce560d1/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12d9d3c698d461a96341401388a91fda30695241

commit 12d9d3c698d461a96341401388a91fda30695241
Author: Siddhartha <ssid@chromium.org>
Date: Tue Jun 05 01:25:19 2018

Record reasons of OOM intervention failures to UMA

We observe that the intervention does not have any effect on population.
Add metrics to see why it fails.

BUG=843419

Change-Id: I1e7443a749331135dbbad9c51ff79ba9d1975db7
Reviewed-on: https://chromium-review.googlesource.com/1083594
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564330}
[modify] https://crrev.com/12d9d3c698d461a96341401388a91fda30695241/chrome/browser/android/oom_intervention/oom_intervention_config.cc
[modify] https://crrev.com/12d9d3c698d461a96341401388a91fda30695241/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc
[modify] https://crrev.com/12d9d3c698d461a96341401388a91fda30695241/third_party/blink/renderer/controller/oom_intervention_impl.cc
[modify] https://crrev.com/12d9d3c698d461a96341401388a91fda30695241/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/12d9d3c698d461a96341401388a91fda30695241/tools/metrics/histograms/histograms.xml

Project Member

Comment 14 by bugdroid1@chromium.org, Jun 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1cc1b6d00147a1d66eb172bd81da70320ffe551a

commit 1cc1b6d00147a1d66eb172bd81da70320ffe551a
Author: Siddhartha <ssid@chromium.org>
Date: Fri Jun 08 04:58:05 2018

Report time since last navigation at OOM

BUG=843419

Change-Id: I76862b50d57c845a4f4e0674dab579c45504488f
Reviewed-on: https://chromium-review.googlesource.com/1087839
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565545}
[modify] https://crrev.com/1cc1b6d00147a1d66eb172bd81da70320ffe551a/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc
[modify] https://crrev.com/1cc1b6d00147a1d66eb172bd81da70320ffe551a/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.h
[modify] https://crrev.com/1cc1b6d00147a1d66eb172bd81da70320ffe551a/tools/metrics/histograms/histograms.xml

Project Member

Comment 15 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6fdac8a0719b115666bf4f0146d5f7019c576721

commit 6fdac8a0719b115666bf4f0146d5f7019c576721
Author: Siddhartha <ssid@chromium.org>
Date: Tue Jun 12 01:48:13 2018

Record user action when foreground OOM occurs.

We do not have any understanding why OOM happens in Android devices. We
have metrics like memory, time and swappiness. But they are not
coorelated. To get better understanding of what were the user actions
when OOM occurred, record OOM as user action.

BUG=843419

Change-Id: Ie1b5b123996eeb762624c31e908e438e5bb53d71
Reviewed-on: https://chromium-review.googlesource.com/1094149
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Maria Khomenko <mariakhomenko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566247}
[modify] https://crrev.com/6fdac8a0719b115666bf4f0146d5f7019c576721/components/crash/content/browser/crash_metrics_reporter_android.cc
[modify] https://crrev.com/6fdac8a0719b115666bf4f0146d5f7019c576721/tools/metrics/actions/actions.xml

Project Member

Comment 16 by bugdroid1@chromium.org, Jun 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6617539b890b41c2498a6dd9068a4a9cd959f6e

commit a6617539b890b41c2498a6dd9068a4a9cd959f6e
Author: Siddhartha <ssid@chromium.org>
Date: Tue Jun 12 07:38:20 2018

Record VM size in LARGE_MB histogram

The metric recorded is over 1GB limit most ofthe times.

BUG=843419

Change-Id: I199c2ed548f28be99d37fe797e0fad47a8d71fb2
Reviewed-on: https://chromium-review.googlesource.com/1096420
Commit-Queue: Siddhartha S <ssid@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566353}
[modify] https://crrev.com/a6617539b890b41c2498a6dd9068a4a9cd959f6e/chrome/browser/android/oom_intervention/oom_intervention_tab_helper.cc
[modify] https://crrev.com/a6617539b890b41c2498a6dd9068a4a9cd959f6e/tools/metrics/histograms/histograms.xml

Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".

Sign in to add a comment