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

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

Issue 2542853002: [tracing] Introduce config to setup memory-infra peak detection (Closed)
Patch Set: Fixes. Created 4 years 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 <stdint.h> 11 #include <stdint.h>
12 #include <string> 12 #include <string>
13 13
14 #include "base/base_export.h" 14 #include "base/base_export.h"
15 #include "base/callback.h" 15 #include "base/callback.h"
16 16
17 namespace base { 17 namespace base {
18 namespace trace_event { 18 namespace trace_event {
19 19
20 // Captures the reason why a memory dump is being requested. This is to allow 20 // Captures the reason why a memory dump is being requested. This is to allow
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 PERIODIC_INTERVAL, // Dumping memory at periodic intervals.
24 TASK_END, // Dumping memory at the ending of a message-loop task.
25 PERIODIC_INTERVAL, // Dumping memory at periodic intervals.
26 EXPLICITLY_TRIGGERED, // Non maskable dump request. 24 EXPLICITLY_TRIGGERED, // Non maskable dump request.
27 LAST = EXPLICITLY_TRIGGERED // For IPC macros. 25 PEAK_MEMORY_USAGE, // Dumping memory at detected peak total memory usage.
26 LAST = PEAK_MEMORY_USAGE // For IPC macros.
28 }; 27 };
29 28
30 // Tells the MemoryDumpProvider(s) how much detailed their dumps should be. 29 // Tells the MemoryDumpProvider(s) how much detailed their dumps should be.
31 enum class MemoryDumpLevelOfDetail : uint32_t { 30 enum class MemoryDumpLevelOfDetail : uint32_t {
32 FIRST, 31 FIRST,
33 32
34 // For background tracing mode. The dump time is quick, and typically just the 33 // For background tracing mode. The dump time is quick, and typically just the
35 // totals are expected. Suballocations need not be specified. Dump name must 34 // totals are expected. Suballocations need not be specified. Dump name must
36 // contain only pre-defined strings and string arguments cannot be added. 35 // contain only pre-defined strings and string arguments cannot be added.
37 BACKGROUND = FIRST, 36 BACKGROUND = FIRST,
(...skipping 27 matching lines...) Expand all
65 // providers. Dump providers are expected to read the args for creating dumps. 64 // providers. Dump providers are expected to read the args for creating dumps.
66 struct MemoryDumpArgs { 65 struct MemoryDumpArgs {
67 // Specifies how detailed the dumps should be. 66 // Specifies how detailed the dumps should be.
68 MemoryDumpLevelOfDetail level_of_detail; 67 MemoryDumpLevelOfDetail level_of_detail;
69 }; 68 };
70 69
71 using MemoryDumpCallback = Callback<void(uint64_t dump_guid, bool success)>; 70 using MemoryDumpCallback = Callback<void(uint64_t dump_guid, bool success)>;
72 71
73 BASE_EXPORT const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type); 72 BASE_EXPORT const char* MemoryDumpTypeToString(const MemoryDumpType& dump_type);
74 73
74 BASE_EXPORT MemoryDumpType StringToMemoryDumpType(const std::string& str);
75
75 BASE_EXPORT const char* MemoryDumpLevelOfDetailToString( 76 BASE_EXPORT const char* MemoryDumpLevelOfDetailToString(
76 const MemoryDumpLevelOfDetail& level_of_detail); 77 const MemoryDumpLevelOfDetail& level_of_detail);
77 78
78 BASE_EXPORT MemoryDumpLevelOfDetail 79 BASE_EXPORT MemoryDumpLevelOfDetail
79 StringToMemoryDumpLevelOfDetail(const std::string& str); 80 StringToMemoryDumpLevelOfDetail(const std::string& str);
80 81
81 } // namespace trace_event 82 } // namespace trace_event
82 } // namespace base 83 } // namespace base
83 84
84 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_ 85 #endif // BASE_TRACE_EVENT_MEMORY_DUMP_REQUEST_ARGS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698