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

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

Issue 2573183002: Add process start time and CPU time columns to task manager (Closed)
Patch Set: Fix nits Created 4 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 #ifndef CHROME_BROWSER_TASK_MANAGER_SAMPLING_TASK_MANAGER_IMPL_H_ 5 #ifndef CHROME_BROWSER_TASK_MANAGER_SAMPLING_TASK_MANAGER_IMPL_H_
6 #define CHROME_BROWSER_TASK_MANAGER_SAMPLING_TASK_MANAGER_IMPL_H_ 6 #define CHROME_BROWSER_TASK_MANAGER_SAMPLING_TASK_MANAGER_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
11 #include <map> 11 #include <map>
12 #include <memory> 12 #include <memory>
13 #include <string> 13 #include <string>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/lazy_instance.h" 16 #include "base/lazy_instance.h"
17 #include "base/macros.h" 17 #include "base/macros.h"
18 #include "base/memory/scoped_vector.h" 18 #include "base/memory/scoped_vector.h"
19 #include "base/sequenced_task_runner.h" 19 #include "base/sequenced_task_runner.h"
20 #include "base/time/time.h"
20 #include "chrome/browser/task_manager/providers/task_provider.h" 21 #include "chrome/browser/task_manager/providers/task_provider.h"
21 #include "chrome/browser/task_manager/providers/task_provider_observer.h" 22 #include "chrome/browser/task_manager/providers/task_provider_observer.h"
22 #include "chrome/browser/task_manager/sampling/task_group.h" 23 #include "chrome/browser/task_manager/sampling/task_group.h"
23 #include "chrome/browser/task_manager/sampling/task_manager_io_thread_helper.h" 24 #include "chrome/browser/task_manager/sampling/task_manager_io_thread_helper.h"
24 #include "chrome/browser/task_manager/task_manager_interface.h" 25 #include "chrome/browser/task_manager/task_manager_interface.h"
25 #include "content/public/browser/gpu_data_manager_observer.h" 26 #include "content/public/browser/gpu_data_manager_observer.h"
26 #include "gpu/ipc/common/memory_stats.h" 27 #include "gpu/ipc/common/memory_stats.h"
27 28
28 namespace task_manager { 29 namespace task_manager {
29 30
30 class SharedSampler; 31 class SharedSampler;
31 32
32 // Defines a concrete implementation of the TaskManagerInterface. 33 // Defines a concrete implementation of the TaskManagerInterface.
33 class TaskManagerImpl : 34 class TaskManagerImpl :
34 public TaskManagerInterface, 35 public TaskManagerInterface,
35 public TaskProviderObserver, 36 public TaskProviderObserver,
36 content::GpuDataManagerObserver { 37 content::GpuDataManagerObserver {
37 public: 38 public:
38 ~TaskManagerImpl() override; 39 ~TaskManagerImpl() override;
39 40
40 static TaskManagerImpl* GetInstance(); 41 static TaskManagerImpl* GetInstance();
41 42
42 // task_manager::TaskManagerInterface: 43 // task_manager::TaskManagerInterface:
43 void ActivateTask(TaskId task_id) override; 44 void ActivateTask(TaskId task_id) override;
44 bool IsTaskKillable(TaskId task_id) override; 45 bool IsTaskKillable(TaskId task_id) override;
45 void KillTask(TaskId task_id) override; 46 void KillTask(TaskId task_id) override;
46 double GetCpuUsage(TaskId task_id) const override; 47 double GetCpuUsage(TaskId task_id) const override;
48 base::Time GetStartTime(TaskId task_id) const override;
49 base::TimeDelta GetCpuTime(TaskId task_id) const override;
47 int64_t GetPhysicalMemoryUsage(TaskId task_id) const override; 50 int64_t GetPhysicalMemoryUsage(TaskId task_id) const override;
48 int64_t GetPrivateMemoryUsage(TaskId task_id) const override; 51 int64_t GetPrivateMemoryUsage(TaskId task_id) const override;
49 int64_t GetSharedMemoryUsage(TaskId task_id) const override; 52 int64_t GetSharedMemoryUsage(TaskId task_id) const override;
50 int64_t GetSwappedMemoryUsage(TaskId task_id) const override; 53 int64_t GetSwappedMemoryUsage(TaskId task_id) const override;
51 int64_t GetGpuMemoryUsage(TaskId task_id, 54 int64_t GetGpuMemoryUsage(TaskId task_id,
52 bool* has_duplicates) const override; 55 bool* has_duplicates) const override;
53 int GetIdleWakeupsPerSecond(TaskId task_id) const override; 56 int GetIdleWakeupsPerSecond(TaskId task_id) const override;
54 int GetNaClDebugStubPort(TaskId task_id) const override; 57 int GetNaClDebugStubPort(TaskId task_id) const override;
55 void GetGDIHandles(TaskId task_id, 58 void GetGDIHandles(TaskId task_id,
56 int64_t* current, 59 int64_t* current,
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 // This will be set to true while there are observers and the task manager is 167 // This will be set to true while there are observers and the task manager is
165 // running. 168 // running.
166 bool is_running_; 169 bool is_running_;
167 170
168 DISALLOW_COPY_AND_ASSIGN(TaskManagerImpl); 171 DISALLOW_COPY_AND_ASSIGN(TaskManagerImpl);
169 }; 172 };
170 173
171 } // namespace task_manager 174 } // namespace task_manager
172 175
173 #endif // CHROME_BROWSER_TASK_MANAGER_SAMPLING_TASK_MANAGER_IMPL_H_ 176 #endif // CHROME_BROWSER_TASK_MANAGER_SAMPLING_TASK_MANAGER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698