OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 syntax = "proto2"; | |
6 | |
7 option optimize_for = LITE_RUNTIME; | |
8 | |
9 package browser_watcher; | |
10 | |
11 // The state of the system on which Chrome is running (shutting down, battery | |
12 // level, load, etc.). | |
13 message SystemState { | |
14 // TODO(manzagop): flesh out. | |
15 } | |
16 | |
17 message CodeModule { | |
18 // The base address of this code module as it was loaded by the process. | |
19 optional int64 base_address = 1; | |
20 | |
21 // The size of the code module. | |
22 optional int64 size = 2; | |
23 | |
24 // The path or file name that the code module was loaded from. | |
25 optional string code_file = 3; | |
26 | |
27 // An identifying string used to discriminate between multiple versions and | |
28 // builds of the same code module. This may contain a uuid, timestamp, | |
29 // version number, or any combination of this or other information, in an | |
30 // implementation-defined format. | |
31 optional string code_identifier = 4; | |
32 | |
33 // The filename containing debugging information associated with the code | |
34 // module. If debugging information is stored in a file separate from the | |
35 // code module itself (as is the case when .pdb or .dSYM files are used), | |
36 // this will be different from code_file. If debugging information is | |
37 // stored in the code module itself (possibly prior to stripping), this | |
38 // will be the same as code_file. | |
39 optional string debug_file = 5; | |
40 | |
41 // An identifying string similar to code_identifier, but identifies a | |
42 // specific version and build of the associated debug file. This may be | |
43 // the same as code_identifier when the debug_file and code_file are | |
44 // identical or when the same identifier is used to identify distinct | |
45 // debug and code files. | |
46 optional string debug_identifier = 6; | |
47 | |
48 // A human-readable representation of the code module's version. | |
49 optional string version = 7; | |
50 } | |
51 | |
52 // The state of a thread. | |
53 message ThreadState { | |
54 optional string thread_name = 1; | |
55 // TODO(manzagop): flesh out. | |
56 } | |
57 | |
58 // The state of a process. | |
59 message ProcessState { | |
60 repeated CodeModule modules = 1; | |
Sigurður Ásgeirsson
2016/09/09 14:21:00
nit: remark that this most likely will include onl
manzagop (departed)
2016/09/09 20:34:40
Done.
| |
61 repeated ThreadState threads = 2; | |
62 // TODO(manzagop): add experiment state. | |
63 } | |
64 | |
65 // A stability report contains information pertaining to the execution of a | |
66 // single logical instance of a "chrome browser". It it comprised of information | |
Sigurður Ásgeirsson
2016/09/09 14:21:00
nit: It it*
manzagop (departed)
2016/09/09 20:34:40
Done.
| |
67 // about the system state and about the chrome browser's processes. | |
68 message StabilityReport { | |
69 optional SystemState system_state = 1; | |
70 // TODO(manzagop): revisit whether a single repeated field should contain all | |
71 // processes, or whether it's preferable to have separate fields per type. | |
72 // TODO(manzagop): add information about the type of process, pid, process | |
73 // times (e.g. start time), hierarchical relationships (e.g. parent pid), | |
74 // command line, etc. | |
75 repeated ProcessState process_states = 2; | |
76 } | |
OLD | NEW |