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

Side by Side Diff: chrome/browser/task_manager/sampling/task_manager_impl.cc

Issue 2988453002: Task manager tracking RenderProcessHosts processes (Closed)
Patch Set: fixed copy past cruft Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/task_manager/sampling/task_manager_impl.h" 5 #include "chrome/browser/task_manager/sampling/task_manager_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <unordered_map> 9 #include <unordered_map>
10 #include <unordered_set> 10 #include <unordered_set>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/command_line.h"
13 #include "base/containers/adapters.h" 14 #include "base/containers/adapters.h"
14 #include "base/task_scheduler/post_task.h" 15 #include "base/task_scheduler/post_task.h"
15 #include "build/build_config.h" 16 #include "build/build_config.h"
16 #include "chrome/browser/task_manager/providers/browser_process_task_provider.h" 17 #include "chrome/browser/task_manager/providers/browser_process_task_provider.h"
17 #include "chrome/browser/task_manager/providers/child_process_task_provider.h" 18 #include "chrome/browser/task_manager/providers/child_process_task_provider.h"
19 #include "chrome/browser/task_manager/providers/render_process_host_task_provide r.h"
18 #include "chrome/browser/task_manager/providers/web_contents/web_contents_task_p rovider.h" 20 #include "chrome/browser/task_manager/providers/web_contents/web_contents_task_p rovider.h"
19 #include "chrome/browser/task_manager/sampling/shared_sampler.h" 21 #include "chrome/browser/task_manager/sampling/shared_sampler.h"
22 #include "chrome/common/chrome_switches.h"
20 #include "content/public/browser/browser_thread.h" 23 #include "content/public/browser/browser_thread.h"
21 #include "content/public/browser/gpu_data_manager.h" 24 #include "content/public/browser/gpu_data_manager.h"
22 #include "content/public/browser/render_frame_host.h" 25 #include "content/public/browser/render_frame_host.h"
23 #include "content/public/browser/render_process_host.h" 26 #include "content/public/browser/render_process_host.h"
24 #include "content/public/browser/web_contents.h" 27 #include "content/public/browser/web_contents.h"
25 28
26 #if defined(OS_CHROMEOS) 29 #if defined(OS_CHROMEOS)
27 #include "chrome/browser/task_manager/providers/arc/arc_process_task_provider.h" 30 #include "chrome/browser/task_manager/providers/arc/arc_process_task_provider.h"
28 #include "components/arc/arc_util.h" 31 #include "components/arc/arc_util.h"
29 #endif // defined(OS_CHROMEOS) 32 #endif // defined(OS_CHROMEOS)
(...skipping 15 matching lines...) Expand all
45 {base::MayBlock(), base::TaskPriority::BACKGROUND, 48 {base::MayBlock(), base::TaskPriority::BACKGROUND,
46 base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})), 49 base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})),
47 shared_sampler_(new SharedSampler(blocking_pool_runner_)), 50 shared_sampler_(new SharedSampler(blocking_pool_runner_)),
48 is_running_(false), 51 is_running_(false),
49 weak_ptr_factory_(this) { 52 weak_ptr_factory_(this) {
50 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 53 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
51 54
52 task_providers_.emplace_back(new BrowserProcessTaskProvider()); 55 task_providers_.emplace_back(new BrowserProcessTaskProvider());
53 task_providers_.emplace_back(new ChildProcessTaskProvider()); 56 task_providers_.emplace_back(new ChildProcessTaskProvider());
54 task_providers_.emplace_back(new WebContentsTaskProvider()); 57 task_providers_.emplace_back(new WebContentsTaskProvider());
58 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
59 switches::kTaskManagerShowExtraRenderers)) {
60 task_providers_.emplace_back(new RenderProcessHostTaskProvider());
61 }
62
55 #if defined(OS_CHROMEOS) 63 #if defined(OS_CHROMEOS)
56 if (arc::IsArcAvailable()) 64 if (arc::IsArcAvailable())
57 task_providers_.emplace_back(new ArcProcessTaskProvider()); 65 task_providers_.emplace_back(new ArcProcessTaskProvider());
58 #endif // defined(OS_CHROMEOS) 66 #endif // defined(OS_CHROMEOS)
59 } 67 }
60 68
61 TaskManagerImpl::~TaskManagerImpl() { 69 TaskManagerImpl::~TaskManagerImpl() {
62 } 70 }
63 71
64 // static 72 // static
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 groups_itr.second->AreBackgroundCalculationsDone(); 588 groups_itr.second->AreBackgroundCalculationsDone();
581 } 589 }
582 if (are_all_processes_data_ready) { 590 if (are_all_processes_data_ready) {
583 NotifyObserversOnRefreshWithBackgroundCalculations(GetTaskIdsList()); 591 NotifyObserversOnRefreshWithBackgroundCalculations(GetTaskIdsList());
584 for (const auto& groups_itr : task_groups_by_proc_id_) 592 for (const auto& groups_itr : task_groups_by_proc_id_)
585 groups_itr.second->ClearCurrentBackgroundCalculationsFlags(); 593 groups_itr.second->ClearCurrentBackgroundCalculationsFlags();
586 } 594 }
587 } 595 }
588 596
589 } // namespace task_manager 597 } // namespace task_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698