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

Unified Diff: chrome/browser/task_manager/sampling/task_manager_impl.cc

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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/task_manager/sampling/task_manager_impl.cc
diff --git a/chrome/browser/task_manager/sampling/task_manager_impl.cc b/chrome/browser/task_manager/sampling/task_manager_impl.cc
index 8d12ca5a5bd60b042b9e5627c9f17cc5e8c4200a..25d94c9af25505d2b7229f55a377c14f7ab320f0 100644
--- a/chrome/browser/task_manager/sampling/task_manager_impl.cc
+++ b/chrome/browser/task_manager/sampling/task_manager_impl.cc
@@ -10,6 +10,7 @@
#include <unordered_set>
#include <vector>
+#include "base/bit_cast.h"
#include "base/command_line.h"
#include "base/containers/adapters.h"
#include "build/build_config.h"
@@ -93,6 +94,29 @@ double TaskManagerImpl::GetCpuUsage(TaskId task_id) const {
return GetTaskGroupByTaskId(task_id)->cpu_usage();
}
+base::Time TaskManagerImpl::GetStartTime(TaskId task_id) const {
+#if defined(OS_WIN)
+ int64_t time_in_100ns = GetTaskGroupByTaskId(task_id)->start_time();
stanisc 2016/12/19 22:44:10 time_in_100ns is *ticks*
chengx 2016/12/20 00:51:12 Cool. Good to know!
brucedawson 2016/12/20 01:27:57 Well, Microsoft also refers to a 1 ms interval as
+ if (time_in_100ns < 0)
brucedawson 2016/12/19 21:51:05 If you do change to unsigned type then this check
chengx 2016/12/20 00:51:12 Done.
+ return base::Time();
+ FILETIME ft = bit_cast<FILETIME, int64_t>(time_in_100ns);
+ return base::Time::FromFileTime(ft);
+#else
+ return base::Time();
+#endif
+}
+
+base::TimeDelta TaskManagerImpl::GetCpuTime(TaskId task_id) const {
+#if defined(OS_WIN)
+ int64_t time_in_100ns = GetTaskGroupByTaskId(task_id)->cpu_time();
+ if (time_in_100ns < 0)
+ return base::TimeDelta();
+ return base::TimeDelta::FromMicroseconds(time_in_100ns / 10);
+#else
+ return base::TimeDelta();
+#endif
+}
+
int64_t TaskManagerImpl::GetPhysicalMemoryUsage(TaskId task_id) const {
return GetTaskGroupByTaskId(task_id)->physical_bytes();
}

Powered by Google App Engine
This is Rietveld 408576698