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

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

Issue 1374283003: Reporting top cpu and memory consumers via rappor on chromeos (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Turn off ResourceReporter on task_management CrOs browser_tests. Created 5 years 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_management/sampling/task_manager_impl.h" 5 #include "chrome/browser/task_management/sampling/task_manager_impl.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "chrome/browser/task_management/providers/browser_process_task_provider .h" 8 #include "chrome/browser/task_management/providers/browser_process_task_provider .h"
9 #include "chrome/browser/task_management/providers/child_process_task_provider.h " 9 #include "chrome/browser/task_management/providers/child_process_task_provider.h "
10 #include "chrome/browser/task_management/providers/web_contents/web_contents_tas k_provider.h" 10 #include "chrome/browser/task_management/providers/web_contents/web_contents_tas k_provider.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 #if defined(OS_WIN) 115 #if defined(OS_WIN)
116 const TaskGroup* task_group = GetTaskGroupByTaskId(task_id); 116 const TaskGroup* task_group = GetTaskGroupByTaskId(task_id);
117 *current = task_group->user_current_handles(); 117 *current = task_group->user_current_handles();
118 *peak = task_group->user_peak_handles(); 118 *peak = task_group->user_peak_handles();
119 #else 119 #else
120 *current = -1; 120 *current = -1;
121 *peak = -1; 121 *peak = -1;
122 #endif // defined(OS_WIN) 122 #endif // defined(OS_WIN)
123 } 123 }
124 124
125 bool TaskManagerImpl::IsTaskOnBackgroundedProcess(TaskId task_id) const {
126 return GetTaskGroupByTaskId(task_id)->is_backgrounded();
127 }
128
125 const base::string16& TaskManagerImpl::GetTitle(TaskId task_id) const { 129 const base::string16& TaskManagerImpl::GetTitle(TaskId task_id) const {
126 return GetTaskByTaskId(task_id)->title(); 130 return GetTaskByTaskId(task_id)->title();
127 } 131 }
128 132
133 const std::string& TaskManagerImpl::GetTaskNameForRappor(TaskId task_id) const {
134 return GetTaskByTaskId(task_id)->rappor_sample_name();
135 }
136
129 base::string16 TaskManagerImpl::GetProfileName(TaskId task_id) const { 137 base::string16 TaskManagerImpl::GetProfileName(TaskId task_id) const {
130 return GetTaskByTaskId(task_id)->GetProfileName(); 138 return GetTaskByTaskId(task_id)->GetProfileName();
131 } 139 }
132 140
133 const gfx::ImageSkia& TaskManagerImpl::GetIcon(TaskId task_id) const { 141 const gfx::ImageSkia& TaskManagerImpl::GetIcon(TaskId task_id) const {
134 return GetTaskByTaskId(task_id)->icon(); 142 return GetTaskByTaskId(task_id)->icon();
135 } 143 }
136 144
137 const base::ProcessHandle& TaskManagerImpl::GetProcessHandle( 145 const base::ProcessHandle& TaskManagerImpl::GetProcessHandle(
138 TaskId task_id) const { 146 TaskId task_id) const {
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 for (auto& groups_itr : task_groups_by_proc_id_) { 310 for (auto& groups_itr : task_groups_by_proc_id_) {
303 groups_itr.second->Refresh(gpu_memory_stats_, 311 groups_itr.second->Refresh(gpu_memory_stats_,
304 GetCurrentRefreshTime(), 312 GetCurrentRefreshTime(),
305 enabled_resources_flags()); 313 enabled_resources_flags());
306 } 314 }
307 315
308 NotifyObserversOnRefresh(GetTaskIdsList()); 316 NotifyObserversOnRefresh(GetTaskIdsList());
309 } 317 }
310 318
311 void TaskManagerImpl::StartUpdating() { 319 void TaskManagerImpl::StartUpdating() {
320 if (is_running_)
321 return;
322
312 is_running_ = true; 323 is_running_ = true;
313 324
314 for (auto& provider : task_providers_) 325 for (auto& provider : task_providers_)
315 provider->SetObserver(this); 326 provider->SetObserver(this);
316 327
317 io_thread_helper_manager_.reset(new IoThreadHelperManager); 328 io_thread_helper_manager_.reset(new IoThreadHelperManager);
318 } 329 }
319 330
320 void TaskManagerImpl::StopUpdating() { 331 void TaskManagerImpl::StopUpdating() {
332 if (!is_running_)
333 return;
334
321 is_running_ = false; 335 is_running_ = false;
322 336
323 io_thread_helper_manager_.reset(); 337 io_thread_helper_manager_.reset();
324 338
325 for (auto& provider : task_providers_) 339 for (auto& provider : task_providers_)
326 provider->ClearObserver(); 340 provider->ClearObserver();
327 341
328 STLDeleteValues(&task_groups_by_proc_id_); 342 STLDeleteValues(&task_groups_by_proc_id_);
329 task_groups_by_task_id_.clear(); 343 task_groups_by_task_id_.clear();
330 sorted_task_ids_.clear(); 344 sorted_task_ids_.clear();
(...skipping 20 matching lines...) Expand all
351 DCHECK(ContainsKey(task_groups_by_task_id_, task_id)); 365 DCHECK(ContainsKey(task_groups_by_task_id_, task_id));
352 366
353 return task_groups_by_task_id_.at(task_id); 367 return task_groups_by_task_id_.at(task_id);
354 } 368 }
355 369
356 Task* TaskManagerImpl::GetTaskByTaskId(TaskId task_id) const { 370 Task* TaskManagerImpl::GetTaskByTaskId(TaskId task_id) const {
357 return GetTaskGroupByTaskId(task_id)->GetTaskById(task_id); 371 return GetTaskGroupByTaskId(task_id)->GetTaskById(task_id);
358 } 372 }
359 373
360 } // namespace task_management 374 } // namespace task_management
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698