• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
18 #define INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
19 
20 #include <stdbool.h>
21 #include <stdint.h>
22 
23 #include "perfetto/public/pb_macros.h"
24 
25 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidGameInterventionListConfig);
26 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidLogConfig);
27 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidPolledStateConfig);
28 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidPowerConfig);
29 PERFETTO_PB_MSG_DECL(perfetto_protos_AndroidSystemPropertyConfig);
30 PERFETTO_PB_MSG_DECL(perfetto_protos_ChromeConfig);
31 PERFETTO_PB_MSG_DECL(perfetto_protos_FtraceConfig);
32 PERFETTO_PB_MSG_DECL(perfetto_protos_GpuCounterConfig);
33 PERFETTO_PB_MSG_DECL(perfetto_protos_HeapprofdConfig);
34 PERFETTO_PB_MSG_DECL(perfetto_protos_InodeFileConfig);
35 PERFETTO_PB_MSG_DECL(perfetto_protos_InterceptorConfig);
36 PERFETTO_PB_MSG_DECL(perfetto_protos_JavaHprofConfig);
37 PERFETTO_PB_MSG_DECL(perfetto_protos_NetworkPacketTraceConfig);
38 PERFETTO_PB_MSG_DECL(perfetto_protos_PackagesListConfig);
39 PERFETTO_PB_MSG_DECL(perfetto_protos_PerfEventConfig);
40 PERFETTO_PB_MSG_DECL(perfetto_protos_ProcessStatsConfig);
41 PERFETTO_PB_MSG_DECL(perfetto_protos_StatsdTracingConfig);
42 PERFETTO_PB_MSG_DECL(perfetto_protos_SysStatsConfig);
43 PERFETTO_PB_MSG_DECL(perfetto_protos_SystemInfoConfig);
44 PERFETTO_PB_MSG_DECL(perfetto_protos_TestConfig);
45 PERFETTO_PB_MSG_DECL(perfetto_protos_TrackEventConfig);
46 PERFETTO_PB_MSG_DECL(perfetto_protos_VulkanMemoryConfig);
47 
PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_DataSourceConfig,SessionInitiator)48 PERFETTO_PB_ENUM_IN_MSG(perfetto_protos_DataSourceConfig, SessionInitiator){
49     PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
50                                   SESSION_INITIATOR_UNSPECIFIED) = 0,
51     PERFETTO_PB_ENUM_IN_MSG_ENTRY(perfetto_protos_DataSourceConfig,
52                                   SESSION_INITIATOR_TRUSTED_SYSTEM) = 1,
53 };
54 
55 PERFETTO_PB_MSG(perfetto_protos_DataSourceConfig);
56 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
57                   STRING,
58                   const char*,
59                   name,
60                   1);
61 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
62                   VARINT,
63                   uint32_t,
64                   target_buffer,
65                   2);
66 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
67                   VARINT,
68                   uint32_t,
69                   trace_duration_ms,
70                   3);
71 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
72                   VARINT,
73                   bool,
74                   prefer_suspend_clock_for_duration,
75                   122);
76 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
77                   VARINT,
78                   uint32_t,
79                   stop_timeout_ms,
80                   7);
81 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
82                   VARINT,
83                   bool,
84                   enable_extra_guardrails,
85                   6);
86 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
87                   VARINT,
88                   enum perfetto_protos_DataSourceConfig_SessionInitiator,
89                   session_initiator,
90                   8);
91 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
92                   VARINT,
93                   uint64_t,
94                   tracing_session_id,
95                   4);
96 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
97                   MSG,
98                   perfetto_protos_FtraceConfig,
99                   ftrace_config,
100                   100);
101 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
102                   MSG,
103                   perfetto_protos_InodeFileConfig,
104                   inode_file_config,
105                   102);
106 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
107                   MSG,
108                   perfetto_protos_ProcessStatsConfig,
109                   process_stats_config,
110                   103);
111 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
112                   MSG,
113                   perfetto_protos_SysStatsConfig,
114                   sys_stats_config,
115                   104);
116 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
117                   MSG,
118                   perfetto_protos_HeapprofdConfig,
119                   heapprofd_config,
120                   105);
121 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
122                   MSG,
123                   perfetto_protos_JavaHprofConfig,
124                   java_hprof_config,
125                   110);
126 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
127                   MSG,
128                   perfetto_protos_AndroidPowerConfig,
129                   android_power_config,
130                   106);
131 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
132                   MSG,
133                   perfetto_protos_AndroidLogConfig,
134                   android_log_config,
135                   107);
136 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
137                   MSG,
138                   perfetto_protos_GpuCounterConfig,
139                   gpu_counter_config,
140                   108);
141 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
142                   MSG,
143                   perfetto_protos_AndroidGameInterventionListConfig,
144                   android_game_intervention_list_config,
145                   116);
146 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
147                   MSG,
148                   perfetto_protos_PackagesListConfig,
149                   packages_list_config,
150                   109);
151 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
152                   MSG,
153                   perfetto_protos_PerfEventConfig,
154                   perf_event_config,
155                   111);
156 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
157                   MSG,
158                   perfetto_protos_VulkanMemoryConfig,
159                   vulkan_memory_config,
160                   112);
161 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
162                   MSG,
163                   perfetto_protos_TrackEventConfig,
164                   track_event_config,
165                   113);
166 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
167                   MSG,
168                   perfetto_protos_AndroidPolledStateConfig,
169                   android_polled_state_config,
170                   114);
171 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
172                   MSG,
173                   perfetto_protos_AndroidSystemPropertyConfig,
174                   android_system_property_config,
175                   118);
176 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
177                   MSG,
178                   perfetto_protos_StatsdTracingConfig,
179                   statsd_tracing_config,
180                   117);
181 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
182                   MSG,
183                   perfetto_protos_SystemInfoConfig,
184                   system_info_config,
185                   119);
186 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
187                   MSG,
188                   perfetto_protos_ChromeConfig,
189                   chrome_config,
190                   101);
191 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
192                   MSG,
193                   perfetto_protos_InterceptorConfig,
194                   interceptor_config,
195                   115);
196 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
197                   MSG,
198                   perfetto_protos_NetworkPacketTraceConfig,
199                   network_packet_trace_config,
200                   120);
201 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
202                   STRING,
203                   const char*,
204                   legacy_config,
205                   1000);
206 PERFETTO_PB_FIELD(perfetto_protos_DataSourceConfig,
207                   MSG,
208                   perfetto_protos_TestConfig,
209                   for_testing,
210                   1001);
211 
212 #endif  // INCLUDE_PERFETTO_PUBLIC_PROTOS_CONFIG_DATA_SOURCE_CONFIG_PZC_H_
213