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

Side by Side Diff: base/trace_event/memory_dump_request_args.h

Issue 1337943003: [tracing] Non-functional refactor of memory dump arg names (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix windows test 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
« no previous file with comments | « base/trace_event/memory_dump_provider.h ('k') | base/trace_event/memory_dump_request_args.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 #ifndef BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_ 5 #ifndef BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_
6 #define BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_ 6 #define BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_
7 7
8 // This file defines the types and structs used to issue memory dump requests. 8 // This file defines the types and structs used to issue memory dump requests.
9 // These are also used in the IPCs for coordinating inter-process memory dumps. 9 // These are also used in the IPCs for coordinating inter-process memory dumps.
10 10
11 #include <string>
12
11 #include "base/base_export.h" 13 #include "base/base_export.h"
12 #include "base/callback.h" 14 #include "base/callback.h"
13 #include "base/trace_event/memory_dump_provider.h"
14 15
15 namespace base { 16 namespace base {
16 namespace trace_event { 17 namespace trace_event {
17 18
18 // Captures the reason why a memory dump is being requested. This is to allow 19 // Captures the reason why a memory dump is being requested. This is to allow
19 // selective enabling of dumps, filtering and post-processing. 20 // selective enabling of dumps, filtering and post-processing.
20 enum class MemoryDumpType { 21 enum class MemoryDumpType {
21 TASK_BEGIN, // Dumping memory at the beginning of a message-loop task. 22 TASK_BEGIN, // Dumping memory at the beginning of a message-loop task.
22 TASK_END, // Dumping memory at the ending of a message-loop task. 23 TASK_END, // Dumping memory at the ending of a message-loop task.
23 PERIODIC_INTERVAL, // Dumping memory at periodic intervals. 24 PERIODIC_INTERVAL, // Dumping memory at periodic intervals.
24 EXPLICITLY_TRIGGERED, // Non maskable dump request. 25 EXPLICITLY_TRIGGERED, // Non maskable dump request.
25 LAST = EXPLICITLY_TRIGGERED // For IPC macros. 26 LAST = EXPLICITLY_TRIGGERED // For IPC macros.
26 }; 27 };
27 28
28 // Returns the name in string for the dump type given. 29 // Tells the MemoryDumpProvider(s) how much detailed their dumps should be.
29 BASE_EXPORT const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type); 30 // MemoryDumpProvider instances must guarantee that level of detail does not
31 // affect the total size reported in the root node, but only the granularity of
32 // the child MemoryAllocatorDump(s).
33 enum class MemoryDumpLevelOfDetail {
34 LIGHT, // Few entries, typically a fixed number, per dump.
35 DETAILED, // Unrestricted amount of entries per dump.
36 LAST = DETAILED // For IPC Macros.
37 };
30 38
31 using MemoryDumpCallback = Callback<void(uint64 dump_guid, bool success)>; 39 // Initial request arguments for a global memory dump. (see
32 40 // MemoryDumpManager::RequestGlobalMemoryDump()).
33 struct BASE_EXPORT MemoryDumpRequestArgs { 41 struct BASE_EXPORT MemoryDumpRequestArgs {
34 // Globally unique identifier. In multi-process dumps, all processes issue a 42 // Globally unique identifier. In multi-process dumps, all processes issue a
35 // local dump with the same guid. This allows the trace importers to 43 // local dump with the same guid. This allows the trace importers to
36 // reconstruct the global dump. 44 // reconstruct the global dump.
37 uint64 dump_guid; 45 uint64 dump_guid;
38 46
39 MemoryDumpType dump_type; 47 MemoryDumpType dump_type;
48 MemoryDumpLevelOfDetail level_of_detail;
49 };
40 50
41 MemoryDumpArgs dump_args; 51 using MemoryDumpCallback = Callback<void(uint64 dump_guid, bool success)>;
42 }; 52
53 BASE_EXPORT const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type);
54
55 BASE_EXPORT const char* MemoryDumpLevelOfDetailToString(
56 const MemoryDumpLevelOfDetail& level_of_detail);
57
58 BASE_EXPORT MemoryDumpLevelOfDetail
59 StringToMemoryDumpLevelOfDetail(const std::string& str);
43 60
44 } // namespace trace_event 61 } // namespace trace_event
45 } // namespace base 62 } // namespace base
46 63
47 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_ 64 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_
OLDNEW
« no previous file with comments | « base/trace_event/memory_dump_provider.h ('k') | base/trace_event/memory_dump_request_args.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698