New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 799538 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression
Hotlist-MemoryInfra



Sign in to add a comment

Memory Footprint is not populated for Android processes

Project Member Reported by w...@chromium.org, Jan 5 2018

Issue description

Chrome Version: 64.0.3282.24 (Official Build) dev (64-bit)
OS: ChromeOS 

What steps will reproduce the problem?
(1) Enable Play Store under ChromeOS.
(2) Once Play Store is fully initialized, open Task Manager.

What is the expected result?

Expect that the Memory Footprint column is populated for all processes.

What happens instead?

Android processes have no Memory Footprint data listed for them.
 

Comment 1 by uekawa@google.com, Jan 9 2018

hmm is this a regression? my M63 device seems to have memory info on android processes

Comment 2 by w...@chromium.org, Jan 9 2018

This bug is specifically about Memory Footprint, not the old Memory column.
Cc: primiano@chromium.org lalitm@chromium.org hjd@chromium.org
+ lalitm, hjd, primiano.

Theoretically we're just grabbing data from memory_instrumentation service. This suggests that the service isn't working correctly.
Let me see if I understand correctly, is this about Android processes running in the Arc++ containers not showing now in task manager?

I had no idea that we ever supported that, that might have worked by accident, if it ever worked.

Nobody here in LON has any ideas on ARC++ architecture, nor any devices to test. 
We need somebody familiar with ARC++ architecture and debugging to look into this. 
Cc: erikc...@chromium.org hirono@chromium.org
Owner: hirono@chromium.org
+hirono, who works on ARC++ and might be able to direct us appropriately. 

Comment 6 by hirono@chromium.org, Jan 10 2018

Owner: lhchavez@chromium.org
lhchavez@ - Could you reassign the issue to someone who is familiar with ARC processes management?

Comment 7 by uekawa@google.com, Jan 10 2018

Cc: nya@chromium.org


So on M64 I see two memory columns and one (new one) is not populated for ARC++ processes.

where is this getting populated?


Comment 8 by uekawa@google.com, Jan 10 2018

Labels: -Type-Bug -M-66 M-64 Type-Bug-Regression
so this is a regression

Comment 9 by uekawa@google.com, Jan 10 2018

Owner: cylee@chromium.org
cylee, can you take a look?
I think the problem is that the memory instrumentation service does not know about the existence of ARC++ processes because there is no ClientProcessImpl instance created for them which registers with the existence of a process with the service. 

Examples of creation:
browser: https://cs.chromium.org/chromium/src/content/browser/browser_main_loop.cc?l=1787
child: https://cs.chromium.org/chromium/src/content/child/child_thread_impl.cc?l=517
Cc: cmtm@google.com
+cmtm@, who will be owning ARC's memory management.

Comment 13 by cylee@google.com, Jan 10 2018

Thanks to erikchen@ and lalitm@. I checked the code and it looks like we should register ARC processes to the coordinator somewhere, maybe somewhere like 
UpdateProcessList() https://cs.chromium.org/chromium/src/chrome/browser/task_manager/providers/arc/arc_process_task_provider.cc?rcl=4c52579f63f63577695cd447296ceb9de57773a1&l=46

I can do it but I won't have bandwidth very soon, does anybody want to take it over?

Comment 14 by cmtm@google.com, Jan 10 2018

I can take it over. Feel free to assign the bug to me.

Comment 15 by cylee@chromium.org, Jan 27 2018

Cc: -cmtm@google.com cylee@google.com
Owner: cmtm@chromium.org
Owner: cmtm@google.com
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".
Project Member

Comment 18 by bugdroid1@chromium.org, Oct 30

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

commit 1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960
Author: Willie Koomson <wvk@google.com>
Date: Tue Oct 30 19:33:32 2018

Add memory footprint for Arc processes in task manager

This change adds memory footprint information for Arc processes into the
chrome task manager. ArcProcessService requests a global dump from
Android, and upon receipt provides it to the task manager (through
ArcProcessTaskProvider)

BUG= 799538 
TEST=Manual, compared memory footprint in task manager to top

Change-Id: I5e10ba05e28185de750b6deb2f46d9227d4cc751
Reviewed-on: https://chromium-review.googlesource.com/c/1263335
Commit-Queue: Willie Koomson <wvk@google.com>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Reviewed-by: Erik Chen <erikchen@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603983}
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/BUILD.gn
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/chromeos/arc/process/arc_process_service.cc
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/chromeos/arc/process/arc_process_service.h
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/metrics/process_memory_metrics_emitter.cc
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/metrics/process_memory_metrics_emitter_unittest.cc
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/profiling_host/background_profiling_triggers.cc
[add] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/task_manager/sampling/arc_shared_sampler.cc
[add] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/task_manager/sampling/arc_shared_sampler.h
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/task_manager/sampling/task_group.cc
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/task_manager/sampling/task_group.h
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/task_manager/sampling/task_manager_impl.cc
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/chrome/browser/task_manager/sampling/task_manager_impl.h
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/components/arc/common/BUILD.gn
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/components/arc/common/process.mojom
[modify] https://crrev.com/1b9a3a4b9fb5e717cf8b210ff9cfd17867bb9960/services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom

Status: Fixed (was: Assigned)

Sign in to add a comment