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

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

Issue 1267963002: [tracing] Throttle rate of heavy dumps and support to request light/heavy dumps (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@light_dumps
Patch Set: Fix win build. Created 5 years, 4 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 #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 "base/base_export.h" 11 #include "base/base_export.h"
12 #include "base/callback.h" 12 #include "base/callback.h"
13 #include "base/trace_event/memory_dump_provider.h"
13 14
14 namespace base { 15 namespace base {
15 namespace trace_event { 16 namespace trace_event {
16 17
17 // Captures the reason why a memory dump is being requested. This is to allow 18 // Captures the reason why a memory dump is being requested. This is to allow
18 // selective enabling of dumps, filtering and post-processing. 19 // selective enabling of dumps, filtering and post-processing.
19 enum class MemoryDumpType { 20 enum class MemoryDumpType {
20 TASK_BEGIN, // Dumping memory at the beginning of a message-loop task. 21 TASK_BEGIN, // Dumping memory at the beginning of a message-loop task.
21 TASK_END, // Dumping memory at the ending of a message-loop task. 22 TASK_END, // Dumping memory at the ending of a message-loop task.
22 PERIODIC_INTERVAL, // Dumping memory at periodic intervals. 23 PERIODIC_INTERVAL, // Dumping memory at periodic intervals.
23 PERIODIC_INTERVAL_WITH_MMAPS, // As above but w/ heavyweight mmaps dumps.
24 // Temporary workaround for crbug.com/499731.
25 EXPLICITLY_TRIGGERED, // Non maskable dump request. 24 EXPLICITLY_TRIGGERED, // Non maskable dump request.
26 LAST = EXPLICITLY_TRIGGERED // For IPC macros. 25 LAST = EXPLICITLY_TRIGGERED // For IPC macros.
27 }; 26 };
28 27
29 // Returns the name in string for the dump type given. 28 // Returns the name in string for the dump type given.
30 BASE_EXPORT const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type); 29 BASE_EXPORT const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type);
31 30
32 using MemoryDumpCallback = Callback<void(uint64 dump_guid, bool success)>; 31 using MemoryDumpCallback = Callback<void(uint64 dump_guid, bool success)>;
33 32
34 struct BASE_EXPORT MemoryDumpRequestArgs { 33 struct BASE_EXPORT MemoryDumpRequestArgs {
35 // Globally unique identifier. In multi-process dumps, all processes issue a 34 // Globally unique identifier. In multi-process dumps, all processes issue a
36 // local dump with the same guid. This allows the trace importers to 35 // local dump with the same guid. This allows the trace importers to
37 // reconstruct the global dump. 36 // reconstruct the global dump.
38 uint64 dump_guid; 37 uint64 dump_guid;
39 38
40 MemoryDumpType dump_type; 39 MemoryDumpType dump_type;
40
41 MemoryDumpArgs dump_args;
41 }; 42 };
42 43
43 } // namespace trace_event 44 } // namespace trace_event
44 } // namespace base 45 } // namespace base
45 46
46 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_ 47 #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/memory_dump_request_args.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698