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

Side by Side Diff: components/browser_watcher/stability_report.proto

Issue 2966563004: StabilityReport proto changes for multi-process support (Closed)
Patch Set: Created 3 years, 5 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 | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 syntax = "proto2"; 5 syntax = "proto2";
6 6
7 option optimize_for = LITE_RUNTIME; 7 option optimize_for = LITE_RUNTIME;
8 8
9 package browser_watcher; 9 package browser_watcher;
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 string string_value = 3; 80 string string_value = 3;
81 Reference string_reference = 4; 81 Reference string_reference = 4;
82 string char_value = 5; 82 string char_value = 5;
83 bool bool_value = 6; 83 bool bool_value = 6;
84 int64 signed_value = 7; 84 int64 signed_value = 7;
85 uint64 unsigned_value = 8; 85 uint64 unsigned_value = 8;
86 } 86 }
87 } 87 }
88 88
89 // An activity represents information about something of interest on a thread. 89 // An activity represents information about something of interest on a thread.
90 // Next id: 14 90 // Next id: 18
91 message Activity { 91 message Activity {
92 enum Type { 92 enum Type {
93 UNKNOWN = 0; 93 UNKNOWN = 0;
94 ACT_TASK_RUN = 1; 94 ACT_TASK_RUN = 1;
95 ACT_LOCK_ACQUIRE = 2; 95 ACT_LOCK_ACQUIRE = 2;
96 ACT_EVENT_WAIT = 3; 96 ACT_EVENT_WAIT = 3;
97 ACT_THREAD_JOIN = 4; 97 ACT_THREAD_JOIN = 4;
98 ACT_PROCESS_WAIT = 5; 98 ACT_PROCESS_WAIT = 5;
99 ACT_GENERIC = 6; 99 ACT_GENERIC = 6;
100 } 100 }
(...skipping 28 matching lines...) Expand all
129 129
130 // A unique identifier for a process. 130 // A unique identifier for a process.
131 optional int64 process_id = 8; 131 optional int64 process_id = 8;
132 132
133 // An arbitrary identifier used for association. 133 // An arbitrary identifier used for association.
134 optional uint32 generic_id = 12; 134 optional uint32 generic_id = 12;
135 135
136 // An arbitrary value used for information purposes. 136 // An arbitrary value used for information purposes.
137 optional int32 generic_data = 13; 137 optional int32 generic_data = 13;
138 138
139 // Tag id 10 is reserved for server side augmentation. 139 // Tag ids 10 and 14-17 are reserved for server side augmentation.
140 140
141 // A key-value store. 141 // A key-value store.
142 map<string, TypedValue> user_data = 9; 142 map<string, TypedValue> user_data = 9;
143 } 143 }
144 144
145 // Details about an exception. 145 // Details about an exception.
146 // Next id: 5 146 // Next id: 5
147 message Exception { 147 message Exception {
148 optional uint32 code = 1; 148 optional uint32 code = 1;
149 optional uint64 program_counter = 2; 149 optional uint64 program_counter = 2;
(...skipping 14 matching lines...) Expand all
164 // stack and |activities| holds the base of the stack (up to a maximum size). 164 // stack and |activities| holds the base of the stack (up to a maximum size).
165 optional int32 activity_count = 3; 165 optional int32 activity_count = 3;
166 repeated Activity activities = 4; 166 repeated Activity activities = 4;
167 167
168 // The last exception to be successfully captured. Note this exception may 168 // The last exception to be successfully captured. Note this exception may
169 // have been recovered from. 169 // have been recovered from.
170 optional Exception exception = 5; 170 optional Exception exception = 5;
171 } 171 }
172 172
173 // The state of a process. 173 // The state of a process.
174 // Next id: 4 174 // Next id: 6
175 message ProcessState { 175 message ProcessState {
176 enum Type {
177 UNKNOWN_PROCESS = 0;
178 BROWSER_PROCESS = 1;
179 WATCHER_PROCESS = 2;
180 }
181
176 // The identifier of the process. 182 // The identifier of the process.
177 optional int64 process_id = 3; 183 optional int64 process_id = 3;
184 optional Type process_type = 4;
178 185
179 // Note: likely only a subset of modules of interest (e.g. Chromium's own 186 // Note: likely only a subset of modules of interest (e.g. Chromium's own
180 // modules). 187 // modules).
181 repeated CodeModule modules = 1; 188 repeated CodeModule modules = 1;
182 repeated ThreadState threads = 2; 189 repeated ThreadState threads = 2;
183 // TODO(manzagop): add experiment state. 190
191 map<string, TypedValue> data = 5;
bcwhite 2017/06/30 16:40:54 Can the name be more descriptive? Or at least a c
manzagop (departed) 2017/06/30 20:22:47 Revised comments, here and below.
184 } 192 }
185 193
186 // Description of a field trial or experiment that the user is currently 194 // Description of a field trial or experiment that the user is currently
187 // enrolled in. This message is an analogue of the UMA proto in 195 // enrolled in. This message is an analogue of the UMA proto in
188 // components/metrics/proto/system_profile.proto. For details about generating 196 // components/metrics/proto/system_profile.proto. For details about generating
189 // the identifiers from the field trial and group names, see 197 // the identifiers from the field trial and group names, see
190 // variations::MakeActiveGroupId(). 198 // variations::MakeActiveGroupId().
191 // Next id: 3 199 // Next id: 3
192 message FieldTrial { 200 message FieldTrial {
193 // A 32-bit identifier for the name of the field trial. 201 // A 32-bit identifier for the name of the field trial.
194 optional fixed32 name_id = 1; 202 optional fixed32 name_id = 1;
195 203
196 // A 32-bit identifier for the user's group within the field trial. 204 // A 32-bit identifier for the user's group within the field trial.
197 optional fixed32 group_id = 2; 205 optional fixed32 group_id = 2;
198 } 206 }
199 207
200 // A stability report contains information pertaining to the execution of a 208 // A stability report contains information pertaining to the execution of a
201 // single logical instance of a "chrome browser". It is comprised of information 209 // single logical instance of a "chrome browser". It is comprised of information
202 // about the system state and about the chrome browser's processes. 210 // about the system state and about the chrome browser's processes.
203 // Next id: 7 211 // Next id: 8
204 message StabilityReport { 212 message StabilityReport {
205 // Whether the report is complete. Reports can be incomplete when the 213 // Whether the report is complete. Reports can be incomplete when the
206 // recording size quota is hit. 214 // recording size quota is hit.
207 optional bool is_complete = 6; 215 optional bool is_complete = 6;
208 216
217 // The process identifier of the crashed process.
218 optional int64 crashed_process_id = 7;
219
209 optional SystemState system_state = 1; 220 optional SystemState system_state = 1;
210 // TODO(manzagop): revisit whether a single repeated field should contain all 221 // TODO(manzagop): revisit whether a single repeated field should contain all
211 // processes, or whether it's preferable to have separate fields per type. 222 // processes, or whether it's preferable to have separate fields per type.
212 // TODO(manzagop): add information about the type of process, pid, process 223 // TODO(manzagop): add information about the type of process, pid, process
213 // times (e.g. start time), hierarchical relationships (e.g. parent pid), 224 // times (e.g. start time), hierarchical relationships (e.g. parent pid),
214 // command line, etc. 225 // command line, etc.
215 repeated ProcessState process_states = 2; 226 repeated ProcessState process_states = 2;
227
216 // TODO(manzagop): if/when reports contain multiple processes, attribute and 228 // TODO(manzagop): if/when reports contain multiple processes, attribute and
217 // relocate these to their process (and perhaps thread). 229 // relocate these to their process (and perhaps thread).
218 repeated string log_messages = 3; 230 repeated string log_messages = 3;
219 map<string, TypedValue> global_data = 4; 231
232 // A global key-value store.
233 map<string, TypedValue> global_data = 4 [deprecated = true];
220 234
221 // The field trials the user is currently enrolled in. 235 // The field trials the user is currently enrolled in.
222 repeated FieldTrial field_trials = 5; 236 repeated FieldTrial field_trials = 5;
223 } 237 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698