Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 44 // specific version and build of the associated debug file. This may be | 44 // specific version and build of the associated debug file. This may be |
| 45 // the same as code_identifier when the debug_file and code_file are | 45 // the same as code_identifier when the debug_file and code_file are |
| 46 // identical or when the same identifier is used to identify distinct | 46 // identical or when the same identifier is used to identify distinct |
| 47 // debug and code files. | 47 // debug and code files. |
| 48 optional string debug_identifier = 6; | 48 optional string debug_identifier = 6; |
| 49 | 49 |
| 50 // A human-readable representation of the code module's version. | 50 // A human-readable representation of the code module's version. |
| 51 optional string version = 7; | 51 optional string version = 7; |
| 52 } | 52 } |
| 53 | 53 |
| 54 // A typed value holds values of interest or references to such values. | |
| 55 // Next id: 9 | |
| 56 message TypedValue { | |
| 57 // A reference to a value of interest. | |
| 58 message Reference { | |
| 59 optional uint64 address = 1; | |
| 60 optional int64 size = 2; | |
| 61 } | |
| 62 | |
| 63 oneof value { | |
| 64 bytes bytes_value = 1; | |
| 65 Reference bytes_reference = 2; | |
| 66 string string_value = 3; | |
| 67 Reference string_reference = 4; | |
| 68 string char_value = 5; | |
| 69 bool bool_value = 6; | |
| 70 int64 signed_value = 7; | |
| 71 int64 unsigned_value = 8; | |
|
bcwhite
2016/12/22 17:21:58
Unsigned?
manzagop (departed)
2017/01/10 14:11:22
Done.
| |
| 72 } | |
| 73 } | |
| 74 | |
| 54 // An activity represents information about something of interest on a thread. | 75 // An activity represents information about something of interest on a thread. |
| 55 // Next id: 9 | 76 // Next id: 10 |
| 56 message Activity { | 77 message Activity { |
| 57 enum Type { | 78 enum Type { |
| 58 UNKNOWN = 0; | 79 UNKNOWN = 0; |
| 59 ACT_TASK_RUN = 1; | 80 ACT_TASK_RUN = 1; |
| 60 ACT_LOCK_ACQUIRE = 2; | 81 ACT_LOCK_ACQUIRE = 2; |
| 61 ACT_EVENT_WAIT = 3; | 82 ACT_EVENT_WAIT = 3; |
| 62 ACT_THREAD_JOIN = 4; | 83 ACT_THREAD_JOIN = 4; |
| 63 ACT_PROCESS_WAIT = 5; | 84 ACT_PROCESS_WAIT = 5; |
| 64 } | 85 } |
| 65 | 86 |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 82 optional uint64 lock_address = 5; | 103 optional uint64 lock_address = 5; |
| 83 | 104 |
| 84 // The memory address of the event object. | 105 // The memory address of the event object. |
| 85 optional uint64 event_address = 6; | 106 optional uint64 event_address = 6; |
| 86 | 107 |
| 87 // A unique identifier for a thread within a process. | 108 // A unique identifier for a thread within a process. |
| 88 optional int64 thread_id = 7; | 109 optional int64 thread_id = 7; |
| 89 | 110 |
| 90 // A unique identifier for a process. | 111 // A unique identifier for a process. |
| 91 optional int64 process_id = 8; | 112 optional int64 process_id = 8; |
| 113 | |
| 114 // A key-value store. | |
| 115 map<string, TypedValue> user_data = 9; | |
| 92 } | 116 } |
| 93 | 117 |
| 94 // The state of a thread. | 118 // The state of a thread. |
| 95 // Next id: 5 | 119 // Next id: 5 |
| 96 message ThreadState { | 120 message ThreadState { |
| 97 // The name of the thread, up to a maxiumum length. | 121 // The name of the thread, up to a maxiumum length. |
| 98 optional string thread_name = 1; | 122 optional string thread_name = 1; |
| 99 | 123 |
| 100 // The identifier of the thread. | 124 // The identifier of the thread. |
| 101 optional int64 thread_id = 2; | 125 optional int64 thread_id = 2; |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 115 // Note: likely only a subset of modules of interest (e.g. Chromium's own | 139 // Note: likely only a subset of modules of interest (e.g. Chromium's own |
| 116 // modules). | 140 // modules). |
| 117 repeated CodeModule modules = 1; | 141 repeated CodeModule modules = 1; |
| 118 repeated ThreadState threads = 2; | 142 repeated ThreadState threads = 2; |
| 119 // TODO(manzagop): add experiment state. | 143 // TODO(manzagop): add experiment state. |
| 120 } | 144 } |
| 121 | 145 |
| 122 // A stability report contains information pertaining to the execution of a | 146 // A stability report contains information pertaining to the execution of a |
| 123 // single logical instance of a "chrome browser". It is comprised of information | 147 // single logical instance of a "chrome browser". It is comprised of information |
| 124 // about the system state and about the chrome browser's processes. | 148 // about the system state and about the chrome browser's processes. |
| 125 // Next id: 4 | 149 // Next id: 5 |
| 126 message StabilityReport { | 150 message StabilityReport { |
| 127 optional SystemState system_state = 1; | 151 optional SystemState system_state = 1; |
| 128 // TODO(manzagop): revisit whether a single repeated field should contain all | 152 // TODO(manzagop): revisit whether a single repeated field should contain all |
| 129 // processes, or whether it's preferable to have separate fields per type. | 153 // processes, or whether it's preferable to have separate fields per type. |
| 130 // TODO(manzagop): add information about the type of process, pid, process | 154 // TODO(manzagop): add information about the type of process, pid, process |
| 131 // times (e.g. start time), hierarchical relationships (e.g. parent pid), | 155 // times (e.g. start time), hierarchical relationships (e.g. parent pid), |
| 132 // command line, etc. | 156 // command line, etc. |
| 133 repeated ProcessState process_states = 2; | 157 repeated ProcessState process_states = 2; |
| 134 // TODO(manzagop): if/when reports contain multiple processes, attribute and | 158 // TODO(manzagop): if/when reports contain multiple processes, attribute and |
| 135 // relocate these to their process (and perhaps thread). | 159 // relocate these to their process (and perhaps thread). |
| 136 repeated string log_messages = 3; | 160 repeated string log_messages = 3; |
| 161 map<string, TypedValue> global_data = 4; | |
| 137 } | 162 } |
| OLD | NEW |