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

Side by Side Diff: skia/ext/SkTraceMemoryDump_chrome.cc

Issue 1324453008: Implement the getRequestDetails api in chrome side. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@skia_expose
Patch Set: Using correct hash. Created 5 years, 2 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 unified diff | Download patch
« no previous file with comments | « skia/ext/SkTraceMemoryDump_chrome.h ('k') | skia/ext/skia_memory_dump_provider.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "skia/ext/SkTraceMemoryDump_chrome.h" 5 #include "skia/ext/SkTraceMemoryDump_chrome.h"
6 6
7 #include "base/trace_event/memory_allocator_dump.h" 7 #include "base/trace_event/memory_allocator_dump.h"
8 #include "base/trace_event/memory_dump_manager.h" 8 #include "base/trace_event/memory_dump_manager.h"
9 #include "base/trace_event/process_memory_dump.h" 9 #include "base/trace_event/process_memory_dump.h"
10 #include "skia/ext/SkDiscardableMemory_chrome.h" 10 #include "skia/ext/SkDiscardableMemory_chrome.h"
11 11
12 namespace skia { 12 namespace skia {
13 13
14 namespace { 14 namespace {
15 const char kMallocBackingType[] = "malloc"; 15 const char kMallocBackingType[] = "malloc";
16 } 16 }
17 17
18 SkTraceMemoryDump_Chrome::SkTraceMemoryDump_Chrome( 18 SkTraceMemoryDump_Chrome::SkTraceMemoryDump_Chrome(
19 base::trace_event::MemoryDumpLevelOfDetail level_of_detail,
19 base::trace_event::ProcessMemoryDump* process_memory_dump) 20 base::trace_event::ProcessMemoryDump* process_memory_dump)
20 : SkTraceMemoryDump_Chrome("", process_memory_dump) {} 21 : SkTraceMemoryDump_Chrome("", level_of_detail, process_memory_dump) {}
21 22
22 SkTraceMemoryDump_Chrome::SkTraceMemoryDump_Chrome( 23 SkTraceMemoryDump_Chrome::SkTraceMemoryDump_Chrome(
23 const char* dump_name_prefix, 24 const std::string& dump_name_prefix,
25 base::trace_event::MemoryDumpLevelOfDetail level_of_detail,
24 base::trace_event::ProcessMemoryDump* process_memory_dump) 26 base::trace_event::ProcessMemoryDump* process_memory_dump)
25 : dump_name_prefix_(dump_name_prefix), 27 : dump_name_prefix_(dump_name_prefix),
26 process_memory_dump_(process_memory_dump) {} 28 process_memory_dump_(process_memory_dump),
29 request_level_(
30 level_of_detail == base::trace_event::MemoryDumpLevelOfDetail::LIGHT
31 ? SkTraceMemoryDump::kLight_LevelOfDetail
32 : SkTraceMemoryDump::kObjectsBreakdowns_LevelOfDetail) {}
27 33
28 SkTraceMemoryDump_Chrome::~SkTraceMemoryDump_Chrome() {} 34 SkTraceMemoryDump_Chrome::~SkTraceMemoryDump_Chrome() {}
29 35
30 void SkTraceMemoryDump_Chrome::dumpNumericValue(const char* dumpName, 36 void SkTraceMemoryDump_Chrome::dumpNumericValue(const char* dumpName,
31 const char* valueName, 37 const char* valueName,
32 const char* units, 38 const char* units,
33 uint64_t value) { 39 uint64_t value) {
34 auto dump = GetOrCreateAllocatorDump(dumpName); 40 auto dump = GetOrCreateAllocatorDump(dumpName);
35 dump->AddScalar(valueName, units, value); 41 dump->AddScalar(valueName, units, value);
36 } 42 }
(...skipping 20 matching lines...) Expand all
57 const SkDiscardableMemory& discardableMemoryObject) { 63 const SkDiscardableMemory& discardableMemoryObject) {
58 std::string name = dump_name_prefix_ + dumpName; 64 std::string name = dump_name_prefix_ + dumpName;
59 DCHECK(!process_memory_dump_->GetAllocatorDump(name)); 65 DCHECK(!process_memory_dump_->GetAllocatorDump(name));
60 const SkDiscardableMemoryChrome& discardable_memory_obj = 66 const SkDiscardableMemoryChrome& discardable_memory_obj =
61 static_cast<const SkDiscardableMemoryChrome&>(discardableMemoryObject); 67 static_cast<const SkDiscardableMemoryChrome&>(discardableMemoryObject);
62 auto dump = discardable_memory_obj.CreateMemoryAllocatorDump( 68 auto dump = discardable_memory_obj.CreateMemoryAllocatorDump(
63 name.c_str(), process_memory_dump_); 69 name.c_str(), process_memory_dump_);
64 DCHECK(dump); 70 DCHECK(dump);
65 } 71 }
66 72
73 SkTraceMemoryDump::LevelOfDetail SkTraceMemoryDump_Chrome::getRequestedDetails()
74 const {
75 return request_level_;
76 }
77
67 base::trace_event::MemoryAllocatorDump* 78 base::trace_event::MemoryAllocatorDump*
68 SkTraceMemoryDump_Chrome::GetOrCreateAllocatorDump(const char* dumpName) { 79 SkTraceMemoryDump_Chrome::GetOrCreateAllocatorDump(const char* dumpName) {
69 std::string name = dump_name_prefix_ + dumpName; 80 std::string name = dump_name_prefix_ + dumpName;
70 auto dump = process_memory_dump_->GetAllocatorDump(name); 81 auto dump = process_memory_dump_->GetAllocatorDump(name);
71 if (!dump) 82 if (!dump)
72 dump = process_memory_dump_->CreateAllocatorDump(name); 83 dump = process_memory_dump_->CreateAllocatorDump(name);
73 return dump; 84 return dump;
74 } 85 }
75 86
76 } // namespace skia 87 } // namespace skia
OLDNEW
« no previous file with comments | « skia/ext/SkTraceMemoryDump_chrome.h ('k') | skia/ext/skia_memory_dump_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698