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

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

Issue 2041583003: [tracing] Introduce "allowed_dump_modes" for memory dump config (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@background_config
Patch Set: Change mode to int. Created 4 years, 6 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_manager_unittest.cc ('k') | base/trace_event/trace_config.h » ('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
(...skipping 10 matching lines...) Expand all
21 // selective enabling of dumps, filtering and post-processing. 21 // selective enabling of dumps, filtering and post-processing.
22 enum class MemoryDumpType { 22 enum class MemoryDumpType {
23 TASK_BEGIN, // Dumping memory at the beginning of a message-loop task. 23 TASK_BEGIN, // Dumping memory at the beginning of a message-loop task.
24 TASK_END, // Dumping memory at the ending of a message-loop task. 24 TASK_END, // Dumping memory at the ending of a message-loop task.
25 PERIODIC_INTERVAL, // Dumping memory at periodic intervals. 25 PERIODIC_INTERVAL, // Dumping memory at periodic intervals.
26 EXPLICITLY_TRIGGERED, // Non maskable dump request. 26 EXPLICITLY_TRIGGERED, // Non maskable dump request.
27 LAST = EXPLICITLY_TRIGGERED // For IPC macros. 27 LAST = EXPLICITLY_TRIGGERED // For IPC macros.
28 }; 28 };
29 29
30 // Tells the MemoryDumpProvider(s) how much detailed their dumps should be. 30 // Tells the MemoryDumpProvider(s) how much detailed their dumps should be.
31 enum class MemoryDumpLevelOfDetail { 31 enum class MemoryDumpLevelOfDetail : uint32_t {
32 FIRST,
33
32 // For background tracing mode. The dump time is quick, and typically just the 34 // For background tracing mode. The dump time is quick, and typically just the
33 // totals are expected. Suballocations need not be specified. Dump name must 35 // totals are expected. Suballocations need not be specified. Dump name must
34 // contain only pre-defined strings and string arguments cannot be added. 36 // contain only pre-defined strings and string arguments cannot be added.
35 BACKGROUND, 37 BACKGROUND = FIRST,
36 38
37 // For the levels below, MemoryDumpProvider instances must guarantee that the 39 // For the levels below, MemoryDumpProvider instances must guarantee that the
38 // total size reported in the root node is consistent. Only the granularity of 40 // total size reported in the root node is consistent. Only the granularity of
39 // the child MemoryAllocatorDump(s) differs with the levels. 41 // the child MemoryAllocatorDump(s) differs with the levels.
40 42
41 // Few entries, typically a fixed number, per dump. 43 // Few entries, typically a fixed number, per dump.
42 LIGHT, 44 LIGHT,
43 45
44 // Unrestricted amount of entries per dump. 46 // Unrestricted amount of entries per dump.
45 DETAILED, 47 DETAILED,
46 48
47 // For IPC Macros.
48 LAST = DETAILED 49 LAST = DETAILED
49 }; 50 };
50 51
51 // Initial request arguments for a global memory dump. (see 52 // Initial request arguments for a global memory dump. (see
52 // MemoryDumpManager::RequestGlobalMemoryDump()). 53 // MemoryDumpManager::RequestGlobalMemoryDump()).
53 struct BASE_EXPORT MemoryDumpRequestArgs { 54 struct BASE_EXPORT MemoryDumpRequestArgs {
54 // Globally unique identifier. In multi-process dumps, all processes issue a 55 // Globally unique identifier. In multi-process dumps, all processes issue a
55 // local dump with the same guid. This allows the trace importers to 56 // local dump with the same guid. This allows the trace importers to
56 // reconstruct the global dump. 57 // reconstruct the global dump.
57 uint64_t dump_guid; 58 uint64_t dump_guid;
(...skipping 16 matching lines...) Expand all
74 BASE_EXPORT const char* MemoryDumpLevelOfDetailToString( 75 BASE_EXPORT const char* MemoryDumpLevelOfDetailToString(
75 const MemoryDumpLevelOfDetail& level_of_detail); 76 const MemoryDumpLevelOfDetail& level_of_detail);
76 77
77 BASE_EXPORT MemoryDumpLevelOfDetail 78 BASE_EXPORT MemoryDumpLevelOfDetail
78 StringToMemoryDumpLevelOfDetail(const std::string& str); 79 StringToMemoryDumpLevelOfDetail(const std::string& str);
79 80
80 } // namespace trace_event 81 } // namespace trace_event
81 } // namespace base 82 } // namespace base
82 83
83 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_ 84 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_
OLDNEW
« no previous file with comments | « base/trace_event/memory_dump_manager_unittest.cc ('k') | base/trace_event/trace_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698