Index: include/core/SkTraceMemoryDump.h |
diff --git a/include/core/SkTraceMemoryDump.h b/include/core/SkTraceMemoryDump.h |
index d7c565f5707b1ed455b6f1d0be5471636f1a38c3..8383190ccccc55677c16555ce651385e17f6df89 100644 |
--- a/include/core/SkTraceMemoryDump.h |
+++ b/include/core/SkTraceMemoryDump.h |
@@ -20,6 +20,17 @@ class SkDiscardableMemory; |
class SK_API SkTraceMemoryDump { |
public: |
/** |
+ * Enum to specify the level of the requested details for the dump from the Skia objects. |
+ */ |
+ enum LevelOfDetail { |
+ // Dump only the minimal details to get the total memory usage (Usually just the totals). |
+ kLight_LevelOfDetail, |
+ |
+ // Dump the detailed breakdown of the objects in the caches. |
+ kObjectsBreakdowns_LevelOfDetail |
+ }; |
+ |
+ /** |
* Appends a new memory dump (i.e. a row) to the trace memory infrastructure. |
* If dumpName does not exist yet, a new one is created. Otherwise, a new column is appended to |
* the previously created dump. |
@@ -55,6 +66,13 @@ public: |
const char* dumpName, |
const SkDiscardableMemory& discardableMemoryObject) = 0; |
+ /** |
+ * Returns the type of details requested in the dump. The granularity of the dump is supposed to |
+ * match the LevelOfDetail argument. The level of detail must not affect the total size |
+ * reported, but only granularity of the child entries. |
+ */ |
+ virtual LevelOfDetail getRequestedDetails() const = 0; |
+ |
protected: |
virtual ~SkTraceMemoryDump() { } |
}; |