Index: systrace/atrace_helper/jni/process_info.h |
diff --git a/systrace/atrace_helper/jni/process_info.h b/systrace/atrace_helper/jni/process_info.h |
index ff05b334dd9d5efc1a6b584367c1834d1d903e47..089e77e22f94c5957d2fb6a180c6835f13326e53 100644 |
--- a/systrace/atrace_helper/jni/process_info.h |
+++ b/systrace/atrace_helper/jni/process_info.h |
@@ -6,66 +6,35 @@ |
#define PROCESS_INFO_H_ |
#include <map> |
-#include <memory> |
#include "process_memory_stats.h" |
-// Reads various process stats and details from /proc/pid/. |
-class ProcessInfo { |
- public: |
- struct ThreadInfo { |
- char name[128] = {}; |
- }; |
- using ThreadInfoMap = std::map<int, std::unique_ptr<ThreadInfo>>; |
- |
- // Returns true if |pid| is a process (|pid| == TGID), false if it's just a |
- // thread of another process, or if |pid| doesn't exist at all. |
- static bool IsProcess(int pid); |
- |
- explicit ProcessInfo(int pid); |
- |
- bool ReadProcessName(); |
- bool ReadThreadNames(); |
- bool ReadOOMStats(); |
- bool ReadPageFaultsAndCPUTimeStats(); |
- |
- ProcessMemoryStats* memory() { return &memory_; } |
- const ProcessMemoryStats* memory() const { return &memory_; } |
- const ThreadInfoMap* threads() const { return &threads_; } |
- const char* name() const { return name_; } |
- const char* exe() const { return exe_; } |
- |
- int oom_adj() const { return oom_adj_; } |
- int oom_score_adj() const { return oom_score_adj_; } |
- int oom_score() const { return oom_score_; } |
- |
- unsigned long minflt() const { return minflt_; } |
- unsigned long majflt() const { return majflt_; } |
- unsigned long utime() const { return utime_; } |
- unsigned long stime() const { return stime_; } |
- unsigned long long start_time() const { return start_time_; } |
- |
- private: |
- ProcessInfo(const ProcessInfo&) = delete; |
- void operator=(const ProcessInfo&) = delete; |
- |
- ProcessMemoryStats memory_; |
- |
- ThreadInfoMap threads_; |
- char name_[128] = {}; |
- char exe_[128] = {}; |
- |
- int oom_adj_ = 0; |
- int oom_score_adj_ = 0; |
- int oom_score_ = 0; |
+struct ThreadInfo { |
+ int tid; |
+ char name[16]; |
+}; |
- unsigned long minflt_ = 0; |
- unsigned long majflt_ = 0; |
- unsigned long utime_ = 0; // CPU time in user mode. |
- unsigned long stime_ = 0; // CPU time in kernel mode. |
- unsigned long long start_time_ = 0; // CPU time in kernel mode. |
+struct ProcessInfo { |
+ int pid; |
+ bool in_kernel; |
+ bool is_app; |
+ char name[256]; |
+ char exe[256]; |
+ std::map<int, ThreadInfo> threads; |
+}; |
- const int pid_; |
+struct ProcessSnapshot { |
+ int pid; |
+ ProcessMemoryStats memory; |
+ // OOM badness and tolerance (oom_adj is deprecated). |
+ int oom_score; |
+ int oom_score_adj; |
+ // Page faults. |
+ unsigned long minor_faults; |
+ unsigned long major_faults; |
+ // Time spent in userspace and in the kernel. |
+ unsigned long utime; |
+ unsigned long stime; |
}; |
#endif // PROCESS_INFO_H_ |