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

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

Issue 2583223002: Collect stability data from global and activity scopes (Closed)
Patch Set: signed/unsigned fix Created 4 years 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 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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698