| 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..46a8ed017ec0455263f578478e8732b45bc94f52 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)
|
| + uint64_t time_in_100ns = GetTaskGroupByTaskId(task_id)->start_time();
|
| + if (time_in_100ns == 0)
|
| + 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)
|
| + uint64_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();
|
| }
|
|
|