diff options
author | ssid <ssid@chromium.org> | 2015-09-30 04:31:23 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-30 04:31:23 -0700 |
commit | f0c986503b982cfbd4d859573c11bc2a154b42f5 (patch) | |
tree | d866b873bd06634a572f9358d23c06a4ae5b183b /src/core/SkResourceCache.cpp | |
parent | b39abc4d7661733edeaad379dddac75defe67dd4 (diff) |
Add support for light dumps in SkTraceMemoryDump interface.
SkGlyphCache dumps too many glyphs, and to reduce the trace size,
RequestDetails enum is added to SkTraceMemoryDump interface. This
would tell caches to dump only requested details or not a detailed
dump.
BUG=499731
Review URL: https://codereview.chromium.org/1310123007
Diffstat (limited to 'src/core/SkResourceCache.cpp')
-rw-r--r-- | src/core/SkResourceCache.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/SkResourceCache.cpp b/src/core/SkResourceCache.cpp index 54091f1fd4..a1234e1fef 100644 --- a/src/core/SkResourceCache.cpp +++ b/src/core/SkResourceCache.cpp @@ -675,16 +675,18 @@ void SkResourceCache::TestDumpMemoryStatistics() { static void sk_trace_dump_visitor(const SkResourceCache::Rec& rec, void* context) { SkTraceMemoryDump* dump = static_cast<SkTraceMemoryDump*>(context); - SkString dump_name = SkStringPrintf("skia/sk_resource_cache/%s_%p", rec.getCategory(), &rec); + SkString dumpName = SkStringPrintf("skia/sk_resource_cache/%s_%p", rec.getCategory(), &rec); SkDiscardableMemory* discardable = rec.diagnostic_only_getDiscardable(); if (discardable) { - dump->setDiscardableMemoryBacking(dump_name.c_str(), *discardable); + dump->setDiscardableMemoryBacking(dumpName.c_str(), *discardable); } else { - dump->dumpNumericValue(dump_name.c_str(), "size", "bytes", rec.bytesUsed()); - dump->setMemoryBacking(dump_name.c_str(), "malloc", nullptr); + dump->dumpNumericValue(dumpName.c_str(), "size", "bytes", rec.bytesUsed()); + dump->setMemoryBacking(dumpName.c_str(), "malloc", nullptr); } } void SkResourceCache::DumpMemoryStatistics(SkTraceMemoryDump* dump) { + // Since resource could be backed by malloc or discardable, the cache always dumps detailed + // stats to be accurate. VisitAll(sk_trace_dump_visitor, dump); } |