| Index: systrace/atrace_helper/jni/process_memory_stats.h
|
| diff --git a/systrace/atrace_helper/jni/process_memory_stats.h b/systrace/atrace_helper/jni/process_memory_stats.h
|
| index 0085a2c053a758fc03a3f586ca533f3afb6eb854..84584aaa272a31f5fe1b7b4e59af6068a8d8da37 100644
|
| --- a/systrace/atrace_helper/jni/process_memory_stats.h
|
| +++ b/systrace/atrace_helper/jni/process_memory_stats.h
|
| @@ -7,8 +7,8 @@
|
|
|
| #include <stdint.h>
|
|
|
| -#include <map>
|
| #include <memory>
|
| +#include <vector>
|
|
|
| // Reads process memory stats from /proc/pid/{statm,smaps}.
|
| class ProcessMemoryStats {
|
| @@ -28,17 +28,18 @@ class ProcessMemoryStats {
|
| uint64_t swapped_kb = 0;
|
| };
|
|
|
| - explicit ProcessMemoryStats(int pid);
|
| + ProcessMemoryStats() {}
|
|
|
| - bool ReadLightStats();
|
| - bool ReadFullStats();
|
| - bool ReadMemtrackStats();
|
| + bool ReadLightStats(int pid);
|
| + bool ReadFullStats(int pid);
|
| + bool ReadGpuStats(int pid);
|
|
|
| // Available after ReadLightStats().
|
| uint64_t virt_kb() const { return virt_kb_; }
|
| uint64_t rss_kb() const { return rss_kb_; }
|
|
|
| // Available after ReadFullStats().
|
| + bool full_stats_available() const { return full_stats_; }
|
| uint64_t pss_kb() const { return pss_kb_; }
|
| uint64_t private_clean_kb() const { return private_clean_kb_; }
|
| uint64_t private_dirty_kb() const { return private_dirty_kb_; }
|
| @@ -47,6 +48,7 @@ class ProcessMemoryStats {
|
| uint64_t swapped_kb() const { return swapped_kb_; }
|
|
|
| // Available after ReadMemtrackStats().
|
| + bool gpu_stats_available() const { return gpu_stats_; }
|
| uint64_t gpu_graphics_kb() const { return gpu_graphics_kb_; }
|
| uint64_t gpu_graphics_pss_kb() const { return gpu_graphics_pss_kb_; }
|
| uint64_t gpu_gl_kb() const { return gpu_gl_kb_; }
|
| @@ -54,17 +56,19 @@ class ProcessMemoryStats {
|
| uint64_t gpu_other_kb() const { return gpu_other_kb_; }
|
| uint64_t gpu_other_pss_kb() const { return gpu_other_pss_kb_; }
|
|
|
| + size_t mmaps_count() const { return mmaps_.size(); }
|
| + const MmapInfo* mmap(size_t index) const { return mmaps_[index].get(); }
|
| +
|
| private:
|
| ProcessMemoryStats(const ProcessMemoryStats&) = delete;
|
| void operator=(const ProcessMemoryStats&) = delete;
|
|
|
| - const int pid_;
|
| -
|
| // Light stats.
|
| uint64_t virt_kb_ = 0;
|
| uint64_t rss_kb_ = 0;
|
|
|
| // Full stats.
|
| + bool full_stats_ = false;
|
| uint64_t pss_kb_ = 0;
|
| uint64_t private_clean_kb_ = 0;
|
| uint64_t private_dirty_kb_ = 0;
|
| @@ -73,6 +77,7 @@ class ProcessMemoryStats {
|
| uint64_t swapped_kb_ = 0;
|
|
|
| // Graphics stats.
|
| + bool gpu_stats_ = false;
|
| uint64_t gpu_graphics_kb_ = 0;
|
| uint64_t gpu_graphics_pss_kb_ = 0;
|
| uint64_t gpu_gl_kb_ = 0;
|
| @@ -80,7 +85,7 @@ class ProcessMemoryStats {
|
| uint64_t gpu_other_kb_ = 0;
|
| uint64_t gpu_other_pss_kb_ = 0;
|
|
|
| - std::map<uintptr_t, std::unique_ptr<MmapInfo>> mmaps_;
|
| + std::vector<std::unique_ptr<const MmapInfo>> mmaps_;
|
| };
|
|
|
| #endif // PROCESS_MEMORY_STATS_H_
|
|
|