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

Unified Diff: systrace/atrace_helper/jni/process_memory_stats.h

Issue 2946033002: Android systrace: Optimize memory dumps. (Closed)
Patch Set: tiny fix Created 3 years, 6 months 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
« no previous file with comments | « systrace/atrace_helper/jni/process_info.cc ('k') | systrace/atrace_helper/jni/process_memory_stats.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_
« no previous file with comments | « systrace/atrace_helper/jni/process_info.cc ('k') | systrace/atrace_helper/jni/process_memory_stats.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698