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

Issue 460126: Mac: Proof-of-concept task manager (Closed)

Created:
11 years ago by Nico
Modified:
9 years, 7 months ago
Reviewers:
Mark Mentovai, jam, jeremy
CC:
chromium-reviews_googlegroups.com, cpu_(ooo_6.6-7.5)
Visibility:
Public.

Description

Mac: Proof-of-concept task manager Superseded by http://codereview.chromium.org/549002. I landed the IPC parts of this temporarily in r34146 to look at the perf impact. Results are inconclusive; maybe it makes startup a tiny bit slower, but it's within noise level. Once this is nice and tidy, I will break this up into smaller CLs, send those out for review and submit this in pieces (by now, this happened for several of the pieces). Outstanding issues: * IPC part should be part of the channel infrastructure * Doesn't work for worker and utility processes yet * Polish stuff: Maybe sample every 2s to better match Activity Monitor, maybe call this "Activity Monitor" instead of "Task Manager" on OS X, add icons to UI, and other small UI stuff. Done: * Support more child process types (currently, this only works for renderers. Missing are plugins, extensions, maybe helper/utility processes, webworkers) * This currently leaks ports (but not in a harmful way as far as I can tell, and maybe that's not even caused by this patch) BUG=13156 TEST= 1.) Open one tab that plays a youtube video 2.) Open a second and visit http://www.whatwg.org/demos/workers/primes/page.html 3.) Install e.g. the gmail checker extension 4.) Open the task manager It should report metrics for * one browser process * two renderer processes * one plugin process * one worker process * one extension process Check that %cpu etc more or less match what Activity Monitor displays if you filter for "Chromium". TODO: check same for utility processes, nacl, profile importer Process types: * Renderer * Extension * Utility * NaCL * Plugin * Profile importer * Shared worker * (Zygote)

Patch Set 1 #

Patch Set 2 : add another ipc strawman #

Patch Set 3 : bloody mess #

Patch Set 4 : Basically works #

Total comments: 1

Patch Set 5 : Work in progress. Memory seems close, cpu is somewhat off #

Patch Set 6 : cleanups #

Patch Set 7 : rebase #

Patch Set 8 : foo #

Patch Set 9 : rebase #

Patch Set 10 : argh #

Patch Set 11 : revert task_manager.h #

Patch Set 12 : compile #

Patch Set 13 : rebase #

Patch Set 14 : rebase #

Patch Set 15 : notify #

Patch Set 16 : hack to make this work even with extensions installed #

Patch Set 17 : foo #

Patch Set 18 : metrics for all subprocesses seem to work (plugins, extensions, etc) #

Patch Set 19 : unpatch 522013 #

Patch Set 20 : dealloc ports #

Patch Set 21 : rebase #

Patch Set 22 : rebase #

Total comments: 41
Unified diffs Side-by-side diffs Delta from patch set Stats (+275 lines, -12 lines) Patch
M chrome/browser/child_process_launcher.cc View 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 3 chunks +116 lines, -1 line 20 comments Download
M chrome/browser/mach_broker_mac.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +12 lines, -2 lines 0 comments Download
M chrome/browser/mach_broker_mac.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 3 chunks +62 lines, -1 line 4 comments Download
M chrome/chrome_common.gypi View 1 chunk +2 lines, -0 lines 1 comment Download
M chrome/common/child_process.cc View 18 19 20 2 chunks +61 lines, -0 lines 7 comments Download
M chrome/common/mach_ipc_mac.h View 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 1 comment Download
M chrome/common/mach_ipc_mac.mm View 3 4 5 6 7 8 5 chunks +21 lines, -7 lines 8 comments Download

Messages

Total messages: 8 (0 generated)
Nico
Still more a request for comments than a review. There's a MachBroker class that stores ...
11 years ago (2009-12-09 08:41:41 UTC) #1
jeremy
Take a look at how FDs are handled in ipc_channl_posix.cc . I mean something like ...
11 years ago (2009-12-09 10:38:10 UTC) #2
Nico
On 2009/12/09 10:38:10, jeremy wrote: > Take a look at how FDs are handled in ...
11 years ago (2009-12-09 17:26:16 UTC) #3
Mark Mentovai
I think there's a disconnect between what Nico's trying to achieve and what Jeremy thinks ...
11 years ago (2009-12-09 17:39:55 UTC) #4
jam
http://codereview.chromium.org/460126/diff/43/3001 File chrome/browser/child_process_launcher.cc (right): http://codereview.chromium.org/460126/diff/43/3001#newcode258 chrome/browser/child_process_launcher.cc:258: // (then again, the fds duping stuff is here ...
11 years ago (2009-12-09 18:40:01 UTC) #5
Mark Mentovai
I think the principles here are sound enough, but it was hardish to follow some ...
10 years, 11 months ago (2010-01-11 20:22:46 UTC) #6
Mark Mentovai
If the turdlets are intentional and you want to keep them until you're done refactoring, ...
10 years, 11 months ago (2010-01-11 20:23:32 UTC) #7
Mark Mentovai
10 years, 11 months ago (2010-01-11 20:24:52 UTC) #8
codereview screwed me.

Powered by Google App Engine
This is Rietveld 408576698