New issue
Advanced search Search tips

Issue 673216 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature



Sign in to add a comment

Show memory coordinator's states in task manager

Project Member Reported by bashi@chromium.org, Dec 12 2016

Issue description

This is the tracking bug to show memory state of each process (determined by memory coordinator) in the task manager.

The implementation of task manager is in chrome/, while the core logic of memory coordinator is in content/. We need to expose some internal methods of memory coordinator to chrome/.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 15 2016

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

commit c6e173428db849e69d2d03a9a208230b77f54ee8
Author: bashi <bashi@chromium.org>
Date: Thu Dec 15 04:37:42 2016

Separate state updating code from MemoryCoordinatorImpl

We are going to merge MemoryCoordinator into MemoryCoordinatorImpl
as a part of preparations for adding an pure interface of
MemoryCoordinator in base/. Since they are not simple classes,
just merging them will create a big class which has multiple
responsibilities. Before merging them, factor out state updating
code from MemoryCoordinatorImpl.

BUG= 673216 

Review-Url: https://codereview.chromium.org/2568393002
Cr-Commit-Position: refs/heads/master@{#438743}

[modify] https://crrev.com/c6e173428db849e69d2d03a9a208230b77f54ee8/content/browser/BUILD.gn
[modify] https://crrev.com/c6e173428db849e69d2d03a9a208230b77f54ee8/content/browser/memory/memory_coordinator_impl.cc
[modify] https://crrev.com/c6e173428db849e69d2d03a9a208230b77f54ee8/content/browser/memory/memory_coordinator_impl.h
[modify] https://crrev.com/c6e173428db849e69d2d03a9a208230b77f54ee8/content/browser/memory/memory_coordinator_impl_unittest.cc
[add] https://crrev.com/c6e173428db849e69d2d03a9a208230b77f54ee8/content/browser/memory/memory_state_updater.cc
[add] https://crrev.com/c6e173428db849e69d2d03a9a208230b77f54ee8/content/browser/memory/memory_state_updater.h

Project Member

Comment 2 by bugdroid1@chromium.org, Dec 20 2016

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

commit 2cee40a7b7ecbe0737b802f953d10eb39c5eb2df
Author: bashi <bashi@chromium.org>
Date: Tue Dec 20 03:28:13 2016

Merge MemoryCoordinator and MemoryCoordinatorImpl into one class

We are going to add content::MemoryCoordinator to expose some methods outside
content/. As a preparation, merge the current MemoryCoordinator class
and its impl class into MemoryCoordinatorImpl to simplify the relationship
of classes. In a follow-up CL we will add content::MemoryCoordinator
in content/public/browser and make MemoryCoordinatorImpl be a subclass of it.

BUG= 673216 

Review-Url: https://codereview.chromium.org/2579233002
Cr-Commit-Position: refs/heads/master@{#439691}

[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/BUILD.gn
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/browser_main_loop.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/dom_storage/dom_storage_context_wrapper.cc
[delete] https://crrev.com/6c303dc95a8902d55ba15b85ce0c1bf0c222c22b/content/browser/memory/memory_coordinator.cc
[delete] https://crrev.com/6c303dc95a8902d55ba15b85ce0c1bf0c222c22b/content/browser/memory/memory_coordinator.h
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/memory/memory_coordinator_impl.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/memory/memory_coordinator_impl.h
[rename] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/memory/memory_coordinator_impl_browsertest.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/memory/memory_coordinator_impl_unittest.cc
[delete] https://crrev.com/6c303dc95a8902d55ba15b85ce0c1bf0c222c22b/content/browser/memory/memory_coordinator_unittest.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/memory/memory_monitor_android.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/browser/service_worker/service_worker_browsertest.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/public/test/memory_coordinator_test_utils.cc
[modify] https://crrev.com/2cee40a7b7ecbe0737b802f953d10eb39c5eb2df/content/test/BUILD.gn

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 20 2016

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

commit 3453c17646a103f98c4611311de373a7d40ff957
Author: bashi <bashi@chromium.org>
Date: Tue Dec 20 07:45:16 2016

Change type of MemoryCoordinatorImpl::ChildInfo::memory_state

This CL changes the type of MemoryCoordinatorImpl::ChildInfo::memory_state
from mojom::MemoryState to base::MemoryState. The reason of this change
is to avoid unnecessary type conversion. We are planning to add public
interface of memory coordinator so that chrome/ can access memory state
of each process. Since mojom::MemoryState is only accessible from
content/ we have to convert mojom::MemoryState to base::MemoryState when
we expose memory state outside content/. By storing states as
base::MemoryState we can eliminate type conversion.

BUG= 673216 

Review-Url: https://codereview.chromium.org/2586873002
Cr-Commit-Position: refs/heads/master@{#439734}

[modify] https://crrev.com/3453c17646a103f98c4611311de373a7d40ff957/content/browser/memory/memory_coordinator_impl.cc
[modify] https://crrev.com/3453c17646a103f98c4611311de373a7d40ff957/content/browser/memory/memory_coordinator_impl.h
[modify] https://crrev.com/3453c17646a103f98c4611311de373a7d40ff957/content/browser/memory/memory_coordinator_impl_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Jan 5 2017

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

commit 1cccc93926ed0ff7cc3f5674834559a8747135b2
Author: bashi <bashi@chromium.org>
Date: Thu Jan 05 04:24:43 2017

Add a task manager column that shows memory state of processes

When memory coordinator is enabled, each process has its memory state.
This CL adds a column to the task manager to show memory states so that
users can see these states.

BUG= 673216 

Review-Url: https://codereview.chromium.org/2593233003
Cr-Commit-Position: refs/heads/master@{#441584}

[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/app/generated_resources.grd
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/sampling/task_group.cc
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/sampling/task_group.h
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/sampling/task_manager_impl.cc
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/sampling/task_manager_impl.h
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/task_manager_browsertest.cc
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/task_manager_browsertest_util.cc
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/task_manager_browsertest_util.h
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/task_manager_interface.h
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/task_manager_observer.h
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/task_manager_tester.cc
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/task_manager_tester.h
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/test_task_manager.cc
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/task_manager/test_task_manager.h
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/ui/task_manager/task_manager_columns.cc
[modify] https://crrev.com/1cccc93926ed0ff7cc3f5674834559a8747135b2/chrome/browser/ui/task_manager/task_manager_table_model.cc

Comment 6 by bashi@chromium.org, Feb 28 2017

Status: Fixed (was: Assigned)

Sign in to add a comment