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

Side by Side Diff: chrome/common/metrics/proto/system_profile.proto

Issue 9232070: Add UMA protocol buffers to Chrome. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 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 // Stores information about the user's brower and system configuration.
6 // The system configuration fields are recorded once per client session.
7
8 syntax = "proto2";
9
10 option optimize_for = LITE_RUNTIME;
11
12 package metrics;
13
14 // Next tag: 9
15 message SystemProfileProto {
16 // The time when the client was compiled/linked, in seconds since the epoch.
17 optional int64 build_timestamp = 1;
18
19 // A version number string for the application.
20 // Most commonly this is the browser version number found in a user agent
21 // string, and is typically a 4-tuple of numbers separated by periods. In
22 // cases where the user agent version might be ambiguous (example: Linux 64-
23 // bit build, rather than 32-bit build, or a Windows version used in some
24 // special context, such as ChromeFrame running in IE), then this may include
25 // some additional postfix to provide clarification not available in the UA
26 // string.
27 //
28 // An example of a browser version 4-tuple is "5.0.322.0". Currently used
29 // postfixes are:
30 //
31 // "-64": a 64-bit build
32 // "-F": Chrome is running under control of ChromeFrame
33 // "-devel": this is not an official build of Chrome
34 //
35 // A full version number string could look similar to:
36 // "5.0.322.0-F-devel".
37 //
38 // This value, when available, is more trustworthy than the UA string
39 // associated with the request; and including the postfix, may be more
40 // specific.
41 optional string app_version = 2;
42
43 // The date the user installed the browser, in seconds since the epoch.
44 optional int64 install_date = 3;
45
46 // The user's selected application locale, i.e. the user interface language.
47 // The locale includes a language code and, possibly, also a country code,
48 // e.g. "en-US".
49 optional string application_locale = 4;
50
51 // Information on the user's operating system.
52 message OS {
53 // The user's operating system.
54 optional string name = 1;
55
56 // The version of the OS. The meaning of this field is OS-dependent.
57 optional string version = 2;
58 }
59 optional OS os = 5;
60
61 // Information on the user's hardware.
62 message Hardware {
63 // The CPU architecture (x86, PowerPC, x86_64, ...)
64 optional string cpu_architecture = 1;
65
66 // The amount of RAM present on the system, in megabytes.
67 optional int64 system_ram_mb = 2;
68
69 // The base memory address that chrome.dll was loaded at.
70 // (Logged only on Windows.)
71 optional int64 dll_base = 3;
72
73 // The Chrome OS device hardware class ID is a unique string associated with
74 // each Chrome OS device product revision generally assigned at hardware
75 // qualification time. The hardware class effectively identifies the
76 // configured system components such as CPU, WiFi adapter, etc.
77 //
78 // An example of such a hardware class is "IEC MARIO PONY 6101". An
79 // internal database associates this hardware class with the qualified
80 // device specifications including OEM information, schematics, hardware
81 // qualification reports, test device tags, etc.
82 optional string hardware_class = 4;
83
84 // The number of physical screens.
85 optional int32 screen_count = 5;
86
87 // The screen dimensions of the primary screen, in pixels.
88 optional int32 primary_screen_width = 6;
89 optional int32 primary_screen_height = 7;
90
91 // Information on the GPU
92 message Graphics {
93 // The GPU manufacturer's vendor id.
94 optional uint32 vendor_id = 1;
95
96 // The GPU manufacturer's device id for the chip set.
97 optional uint32 device_id = 2;
98
99 // The driver version on the GPU.
100 optional string driver_version = 3;
101
102 // The driver date on the GPU.
103 optional string driver_date = 4;
104
105 // The GPU performance statistics.
106 // See http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gpu /gpu_performance_stats.h?view=markup
107 // for details. Currently logged only on Windows.
108 message PerformanceStatistics {
109 optional float graphics_score = 1;
110 optional float gaming_score = 2;
111 optional float overall_score = 3;
112 }
113 optional PerformanceStatistics performance_statistics = 5;
114 }
115 optional Graphics gpu = 8;
116 }
117 optional Hardware hardware = 6;
118
119 // Information on all installed plugins.
120 message Plugin {
121 // The plugin's self-reported name and filename (without path).
122 optional string name = 1;
123 optional string filename = 2;
124
125 // The plugin's version.
126 optional string version = 3;
127
128 // True if the plugin is disabled.
129 // If a client has multiple local Chrome user accounts, this is logged based
130 // on the first user account launched during the current session.
131 optional bool is_disabled = 4;
132 }
133 repeated Plugin plugin = 7;
134
135 // Figures that can be used to generate application stability metrics.
136 // All values are counts of events since the last time that these
137 // values were reported.
138 message Stability {
139 // Total amount of time that the program was running, in seconds.
140 optional int64 uptime_sec = 1;
141
142 // Page loads along with renderer crashes and hangs, since page load count
143 // roughly corresponds to usage.
144 optional int32 page_load_count = 2;
145 optional int32 renderer_crash_count = 3;
146 optional int32 renderer_hang_count = 4;
147
148 // Number of renderer crashes that were for extensions.
149 // TODO(isherman): Figure out whether this is also counted in
150 // |renderer_crash_count|.
151 optional int32 extension_renderer_crash_count = 5;
152
153 // Number of non-renderer child process crashes.
154 optional int32 child_process_crash_count = 6;
155
156 // Number of times the browser has crashed while logged in as the "other
157 // user" (guest) account.
158 // Logged on ChromeOS only.
159 optional int32 other_user_crash_count = 7;
160
161 // Number of times the kernel has crashed.
162 // Logged on ChromeOS only.
163 optional int32 kernel_crash_count = 8;
164
165 // Number of times the system has shut down uncleanly.
166 // Logged on ChromeOS only.
167 optional int32 unclean_system_shutdown_count = 9;
168
169 //
170 // All the remaining fields in the Stability are recorded at most once per
171 // client session.
172 //
173
174 // The number of times the program was launched.
175 // This will typically be equal to 1. However, it is possible that Chrome
176 // was unable to upload stability metrics for previous launches (e.g. due to
177 // crashing early during startup), and hence this value might be greater
178 // than 1.
179 optional int32 launch_count = 15;
180 // The number of times that it didn't exit cleanly (which we assume to be
181 // mostly crashes).
182 optional int32 crash_count = 16;
183
184 // The number of times the program began, but did not complete, the shutdown
185 // process. (For example, this may occur when Windows is shutting down, and
186 // it only gives the process a few seconds to clean up.)
187 optional int32 incomplete_shutdown_count = 17;
188
189 // The number of times the program was able register with breakpad crash
190 // services.
191 optional int32 breakpad_registration_success_count = 18;
192
193 // The number of times the program failed to register with breakpad crash
194 // services. If crash registration fails then when the program crashes no
195 // crash report will be generated.
196 optional int32 breakpad_registration_failure_count = 19;
197
198 // The number of times the program has run under a debugger. This should
199 // be an exceptional condition. Running under a debugger prevents crash
200 // dumps from being generated.
201 optional int32 debugger_present_count = 20;
202
203 // The number of times the program has run without a debugger attached.
204 // This should be most common scenario and should be very close to
205 // |launch_count|.
206 optional int32 debugger_not_present_count = 21;
207
208 // Stability information for all installed plugins.
209 message PluginStability {
210 // The relevant plugin's information (name, etc.)
211 optional Plugin plugin = 1;
212
213 // The number of times this plugin's process was launched.
214 optional int32 launch_count = 2;
215
216 // The number of times this plugin was instantiated on a web page.
217 // This will be >= |launch_count|.
218 // (A page load with multiple sections drawn by this plugin will
219 // increase this count multiple times.)
220 optional int32 instance_count = 3;
221
222 // The number of times this plugin process crashed.
223 // This value will be <= |launch_count|.
224 optional int32 crash_count = 4;
225 }
226 repeated PluginStability plugin_stability = 22;
227 }
228 optional Stability stability = 8;
229 }
OLDNEW
« no previous file with comments | « chrome/common/metrics/proto/omnibox_event.proto ('k') | chrome/common/metrics/proto/user_action_event.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698