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

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: Created 5 years, 3 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
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 const base::trace_event::MemoryDumpArgs& dump_args,
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("", dump_args, process_memory_dump) {}
21 22
22 SkTraceMemoryDump_Chrome::SkTraceMemoryDump_Chrome( 23 SkTraceMemoryDump_Chrome::SkTraceMemoryDump_Chrome(
23 const char* dump_name_prefix, 24 const char* dump_name_prefix,
25 const base::trace_event::MemoryDumpArgs& dump_args,
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 is_light_dump_(dump_args.level_of_detail ==
30 base::trace_event::MemoryDumpArgs::LevelOfDetail::LOW) {}
27 31
28 SkTraceMemoryDump_Chrome::~SkTraceMemoryDump_Chrome() {} 32 SkTraceMemoryDump_Chrome::~SkTraceMemoryDump_Chrome() {}
29 33
30 void SkTraceMemoryDump_Chrome::dumpNumericValue(const char* dumpName, 34 void SkTraceMemoryDump_Chrome::dumpNumericValue(const char* dumpName,
31 const char* valueName, 35 const char* valueName,
32 const char* units, 36 const char* units,
33 uint64_t value) { 37 uint64_t value) {
34 auto dump = GetOrCreateAllocatorDump(dumpName); 38 auto dump = GetOrCreateAllocatorDump(dumpName);
35 dump->AddScalar(valueName, units, value); 39 dump->AddScalar(valueName, units, value);
36 } 40 }
(...skipping 20 matching lines...) Expand all
57 const SkDiscardableMemory& discardableMemoryObject) { 61 const SkDiscardableMemory& discardableMemoryObject) {
58 std::string name = dump_name_prefix_ + dumpName; 62 std::string name = dump_name_prefix_ + dumpName;
59 DCHECK(!process_memory_dump_->GetAllocatorDump(name)); 63 DCHECK(!process_memory_dump_->GetAllocatorDump(name));
60 const SkDiscardableMemoryChrome& discardable_memory_obj = 64 const SkDiscardableMemoryChrome& discardable_memory_obj =
61 static_cast<const SkDiscardableMemoryChrome&>(discardableMemoryObject); 65 static_cast<const SkDiscardableMemoryChrome&>(discardableMemoryObject);
62 auto dump = discardable_memory_obj.CreateMemoryAllocatorDump( 66 auto dump = discardable_memory_obj.CreateMemoryAllocatorDump(
63 name.c_str(), process_memory_dump_); 67 name.c_str(), process_memory_dump_);
64 DCHECK(dump); 68 DCHECK(dump);
65 } 69 }
66 70
71 bool SkTraceMemoryDump_Chrome::isLightDump() const {
72 return is_light_dump_;
73 }
74
67 base::trace_event::MemoryAllocatorDump* 75 base::trace_event::MemoryAllocatorDump*
68 SkTraceMemoryDump_Chrome::GetOrCreateAllocatorDump(const char* dumpName) { 76 SkTraceMemoryDump_Chrome::GetOrCreateAllocatorDump(const char* dumpName) {
69 std::string name = dump_name_prefix_ + dumpName; 77 std::string name = dump_name_prefix_ + dumpName;
70 auto dump = process_memory_dump_->GetAllocatorDump(name); 78 auto dump = process_memory_dump_->GetAllocatorDump(name);
71 if (!dump) 79 if (!dump)
72 dump = process_memory_dump_->CreateAllocatorDump(name); 80 dump = process_memory_dump_->CreateAllocatorDump(name);
73 return dump; 81 return dump;
74 } 82 }
75 83
76 } // namespace skia 84 } // namespace skia
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698