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

Side by Side Diff: components/tracing/tracing_messages.h

Issue 1329273002: [tracing] Send smaps file desciptor to child process for tracing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 2 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Multiply-included message header, no traditional include guard. 5 // Multiply-included message header, no traditional include guard.
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
11 #include "base/sync_socket.h" 11 #include "base/sync_socket.h"
12 #include "base/trace_event/memory_dump_request_args.h" 12 #include "base/trace_event/memory_dump_request_args.h"
13 #include "base/trace_event/trace_event_impl.h" 13 #include "base/trace_event/trace_event_impl.h"
14 #include "components/tracing/tracing_export.h" 14 #include "components/tracing/tracing_export.h"
15 #include "ipc/ipc_channel_handle.h" 15 #include "ipc/ipc_channel_handle.h"
16 #include "ipc/ipc_message_macros.h" 16 #include "ipc/ipc_message_macros.h"
17 #include "ipc/ipc_message_utils.h" 17 #include "ipc/ipc_message_utils.h"
18 #include "ipc/ipc_platform_file.h" 18 #include "ipc/ipc_platform_file.h"
19 19
20 #undef IPC_MESSAGE_EXPORT 20 #undef IPC_MESSAGE_EXPORT
21 #define IPC_MESSAGE_EXPORT TRACING_EXPORT 21 #define IPC_MESSAGE_EXPORT TRACING_EXPORT
22 #define IPC_MESSAGE_START TracingMsgStart 22 #define IPC_MESSAGE_START TracingMsgStart
23 23
24 IPC_STRUCT_TRAITS_BEGIN(base::trace_event::TraceLogStatus) 24 IPC_STRUCT_TRAITS_BEGIN(base::trace_event::TraceLogStatus)
25 IPC_STRUCT_TRAITS_MEMBER(event_capacity) 25 IPC_STRUCT_TRAITS_MEMBER(event_capacity)
26 IPC_STRUCT_TRAITS_MEMBER(event_count) 26 IPC_STRUCT_TRAITS_MEMBER(event_count)
27 IPC_STRUCT_TRAITS_END() 27 IPC_STRUCT_TRAITS_END()
28 28
29 IPC_STRUCT_BEGIN(TracingMsg_MemoryTracingInfo)
30 IPC_STRUCT_MEMBER(uint64, tracing_process_id)
31 IPC_STRUCT_MEMBER(IPC::PlatformFileForTransit, smaps_fd)
32 IPC_STRUCT_MEMBER(IPC::PlatformFileForTransit, status_fd)
33 IPC_STRUCT_END()
34
29 IPC_STRUCT_TRAITS_BEGIN(base::trace_event::MemoryDumpRequestArgs) 35 IPC_STRUCT_TRAITS_BEGIN(base::trace_event::MemoryDumpRequestArgs)
30 IPC_STRUCT_TRAITS_MEMBER(dump_guid) 36 IPC_STRUCT_TRAITS_MEMBER(dump_guid)
31 IPC_STRUCT_TRAITS_MEMBER(dump_type) 37 IPC_STRUCT_TRAITS_MEMBER(dump_type)
32 IPC_STRUCT_TRAITS_MEMBER(level_of_detail) 38 IPC_STRUCT_TRAITS_MEMBER(level_of_detail)
33 IPC_STRUCT_TRAITS_END() 39 IPC_STRUCT_TRAITS_END()
34 40
35 IPC_STRUCT_TRAITS_BEGIN(base::trace_event::MemoryDumpArgs) 41 IPC_STRUCT_TRAITS_BEGIN(base::trace_event::MemoryDumpArgs)
36 IPC_STRUCT_TRAITS_MEMBER(level_of_detail) 42 IPC_STRUCT_TRAITS_MEMBER(level_of_detail)
37 IPC_STRUCT_TRAITS_END() 43 IPC_STRUCT_TRAITS_END()
38 44
39 IPC_ENUM_TRAITS_MAX_VALUE(base::trace_event::MemoryDumpLevelOfDetail, 45 IPC_ENUM_TRAITS_MAX_VALUE(base::trace_event::MemoryDumpLevelOfDetail,
40 base::trace_event::MemoryDumpLevelOfDetail::LAST) 46 base::trace_event::MemoryDumpLevelOfDetail::LAST)
41 47
42 IPC_ENUM_TRAITS_MAX_VALUE( 48 IPC_ENUM_TRAITS_MAX_VALUE(
43 base::trace_event::MemoryDumpType, 49 base::trace_event::MemoryDumpType,
44 static_cast<int>(base::trace_event::MemoryDumpType::LAST)) 50 static_cast<int>(base::trace_event::MemoryDumpType::LAST))
45 51
46 // Sent to all child processes to enable trace event recording. 52 // Sent to all child processes to enable trace event recording.
47 IPC_MESSAGE_CONTROL3(TracingMsg_BeginTracing, 53 IPC_MESSAGE_CONTROL3(
48 std::string /* trace_config_str */, 54 TracingMsg_BeginTracing,
49 base::TraceTicks /* browser_time */, 55 std::string /* trace_config_str */,
50 uint64 /* Tracing process id (hash of child id) */) 56 base::TraceTicks /* browser_time */,
57 TracingMsg_MemoryTracingInfo /* child process' memory tracing info */)
51 58
52 // Sent to all child processes to disable trace event recording. 59 // Sent to all child processes to disable trace event recording.
53 IPC_MESSAGE_CONTROL0(TracingMsg_EndTracing) 60 IPC_MESSAGE_CONTROL0(TracingMsg_EndTracing)
54 61
55 // Sent to all child processes to cancel trace event recording. 62 // Sent to all child processes to cancel trace event recording.
56 IPC_MESSAGE_CONTROL0(TracingMsg_CancelTracing) 63 IPC_MESSAGE_CONTROL0(TracingMsg_CancelTracing)
57 64
58 // Sent to all child processes to start monitoring. 65 // Sent to all child processes to start monitoring.
59 IPC_MESSAGE_CONTROL2(TracingMsg_EnableMonitoring, 66 IPC_MESSAGE_CONTROL2(TracingMsg_EnableMonitoring,
60 std::string /* trace_config_str */, 67 std::string /* trace_config_str */,
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 IPC_MESSAGE_CONTROL1(TracingHostMsg_GlobalMemoryDumpRequest, 133 IPC_MESSAGE_CONTROL1(TracingHostMsg_GlobalMemoryDumpRequest,
127 base::trace_event::MemoryDumpRequestArgs) 134 base::trace_event::MemoryDumpRequestArgs)
128 135
129 // Reply to TracingMsg_ProcessMemoryDumpRequest. 136 // Reply to TracingMsg_ProcessMemoryDumpRequest.
130 IPC_MESSAGE_CONTROL2(TracingHostMsg_ProcessMemoryDumpResponse, 137 IPC_MESSAGE_CONTROL2(TracingHostMsg_ProcessMemoryDumpResponse,
131 uint64 /* dump_guid */, 138 uint64 /* dump_guid */,
132 bool /* success */) 139 bool /* success */)
133 140
134 IPC_MESSAGE_CONTROL1(TracingHostMsg_TriggerBackgroundTrace, 141 IPC_MESSAGE_CONTROL1(TracingHostMsg_TriggerBackgroundTrace,
135 std::string /* name */) 142 std::string /* name */)
OLDNEW
« no previous file with comments | « components/tracing/child_trace_message_filter.cc ('k') | content/browser/tracing/trace_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698